Verschil tussen synoniem en alias

Inhoudsopgave:

Verschil tussen synoniem en alias
Verschil tussen synoniem en alias

Video: Verschil tussen synoniem en alias

Video: Verschil tussen synoniem en alias
Video: What is the Difference Between Wisdom and Knowledge? 2024, Juli-
Anonim

Synoniem vs Alias (in ORACLE-databases) | Privé synoniemen en openbare synoniemen

In het Engels hebben synoniem en alias bijna dezelfde betekenis. Maar in databases zijn dat twee verschillende dingen. Vooral in ORACLE-databases is het gebruik ervan verschillend. Synoniemen worden gebruikt om objecten van een schema of een database uit een ander schema te verwijzen. Synoniem is dus een database-objecttype. Maar aliassen komen op een andere manier. Dat betekent; het zijn geen database-objecten. Aliassen worden gebruikt om te verwijzen naar tabellen, weergaven en kolommen in query's.

Synoniemen

Dit zijn een soort database-objecten. Ze verwijzen naar andere objecten in de database. Het meest voorkomende gebruik van synoniemen is om naar een object van een afzonderlijk schema te verwijzen door een andere naam te gebruiken. Maar er kunnen ook synoniemen worden gemaakt om naar objecten van een andere database te verwijzen (in gedistribueerde databases, met behulp van databasekoppelingen). Tabellen, weergaven, functies, procedures, pakketten, reeksen, gematerialiseerde weergaven, Java-klasse-objecten en triggers kunnen worden gebruikt als referenties voor de synoniemen. Er zijn twee soorten synoniemen.

  1. Privé synoniemen (kan alleen worden gebruikt door de gebruiker die ze heeft gemaakt.)
  2. Openbare synoniemen (kunnen worden gebruikt door alle gebruikers met de juiste rechten)

Hier is een eenvoudige syntaxis om een synoniem in een aparte database te maken, maak synoniem myschema.mytable1 voor [email protected]_link1

Aangezien we in mijnschema een synoniem hebben met de naam mytable1 voor [email protected]_link1 (gedistribueerde databasetabel), kunnen we gemakkelijk verwijzen naar de gedistribueerde databasetabel met mytable1. We hoeven niet overal de lange objectnaam met databaselink te gebruiken.

Alias

Dit is gewoon een andere naam voor een weergave, een tabel of een kolom in een query. Het zijn geen database-objecten. Daarom zijn aliassen niet overal in het schema/database geldig. Ze zijn alleen geldig binnen de query. Laten we dit voorbeeld bekijken, select tab1.col1 als c1, tab2.col2 als c2

van gebruiker1.tab1 tab1, gebruiker1.tab2 tab2

waar tab1.col1=tab2.col2

Hier zijn c1 en c2 kolomaliassen, die worden gebruikt voor tab1.col1 en tab2.col2, en tab1 en tab2 zijn tabelaliassen, die worden gebruikt voor gebruiker1.tabel1 en gebruiker2.tabel2. Al deze aliassen zijn alleen geldig binnen deze query.

Wat is het verschil tussen Synoniem en Alias (in ORACLE-databases)?

Synoniemen zijn een database-objecttype. Maar aliassen zijn slechts een naam om naar een tabel, weergave of kolom in een query te verwijzen. Geen database-object

Synoniemen kunnen worden gemaakt voor tabellen, weergaven, functies, procedures, pakketten, reeksen, gematerialiseerde weergaven, Java-klasse-objecttypen en triggers. Maar aliassen worden alleen gebruikt voor weergaven, tabellen en hun kolommen

Aanbevolen: