Verschil tussen synoniem en alias

Anonim

Synonym vs Alias ​​ (in ORACLE databases) | Privé-synoniemen en publieke synoniemen

In het Engels hebben synoniem en alias bijna dezelfde betekenissen. Maar in databases zijn dat twee verschillende dingen. Vooral in ORACLE-databases zijn beide hun gebruik anders. Synoniemen worden gebruikt om objecten van een schema of een database van een ander schema te verwijzen. Zo synoniem is een database object type. Maar aliassen komen op een andere manier. Dat betekent; ze zijn geen databaseobjecten. Aliassen worden gebruikt om tabellen, weergaven en kolommen in query's te verwijzen.

Synoniemen

Dit zijn een type database objecten. Zij verwijzen naar andere objecten in de database. Het meest voorkomende gebruik van synoniem is om een ​​object van een apart schema te verwijzen door een andere naam te gebruiken. Maar synoniemen kunnen worden gecreëerd om de objecten van een andere database ook te verwijzen (in gedistribueerde databases, met behulp van database links). Tabellen, weergaven, functies, procedures, pakketten, sequenties, gematerialiseerde weergaven, java-klasobjecten en triggers kunnen gebruikt worden als referenties voor de synoniemen. Er zijn twee soorten synoniemen.

  1. Openbare synoniemen (kan worden gebruikt door alle gebruikers die de juiste rechten hebben)
  2. Hier is een eenvoudige syntaxis om een ​​synoniem in een aparte database te maken,

maak synoniem myschema. mytable1 voor gebruikerA. tabel1 @ database_link1

Aangezien we een synoniem hebben genaamd

mytable1 in myschema voor userA. tabel1 @ database_link1 (gedistribueerde database tabel) , kunnen we de gedistribueerde database tabel gemakkelijk gebruiken met mytable1. We hoeven de lange objectnaam niet altijd met de database-link te gebruiken.

Alias ​​

Dit zijn slechts een andere naam voor een weergave, een tabel of een kolom in een query. Ze zijn geen databaseobjecten. Daarom zijn aliassen niet overal geldig in het schema / de database. Ze zijn alleen geldig in de query. Laten we dit voorbeeld zien,

selecteer tabblad1. col1 als c1, tab2. col2 als c2

van gebruiker1. tab1 tab1, gebruiker1. tab2 tab2

waar tabblad1. col1 = tab2. col2

Hier zijn c1 en c2 kolomaliasen, die voor tab1 worden gebruikt. col1 en tab2. col2 en tab1 en tab2 zijn tabel aliassen die gebruikt worden voor gebruiker1. tabel1 en gebruiker2. tafel 2. Al deze aliassen zijn alleen geldig in deze zoekopdracht.

Wat is het verschil tussen Synoniem en Alias ​​

(in ORACLE databases) ? Synoniemen zijn een database objecttype. Maar aliassen zijn gewoon een naam om een ​​tabel, een weergave of een kolom in een zoekopdracht te verwijzen. Niet een database object.