Synonym vs Alias (a les bases de dades ORACLE) | Sinònims privats i sinònims públics
En anglès, sinònim i àlies tenen gairebé els mateixos significats. Però a les bases de dades són dues coses diferents. Especialment a les bases de dades ORACLE, el seu ús és diferent. Els sinònims s'utilitzen per referir objectes d'un esquema o una base de dades d'un altre esquema. Per tant, el sinònim és un tipus d'objecte de base de dades. Però els àlies vénen d'una altra manera. Això significa; no són objectes de base de dades. Els àlies s'utilitzen per fer referència a taules, vistes i columnes dins de consultes.
Sinònims
Aquests són un tipus d'objectes de base de dades. Es refereixen a altres objectes de la base de dades. L'ús més comú del sinònim és fer referència a un objecte d'un esquema separat mitjançant un altre nom. Però també es poden crear sinònims per referir els objectes d'una altra base de dades (en bases de dades distribuïdes, utilitzant enllaços de bases de dades). Les taules, vistes, funcions, procediments, paquets, seqüències, vistes materialitzades, objectes de classe Java i activadors es poden utilitzar com a referències per als sinònims. Hi ha dos tipus de sinònims.
- Sinònims privats (només els pot utilitzar l'usuari que els ha creat.)
- Sinònims públics (poden utilitzar tots els usuaris que tinguin els privilegis adequats)
Aquí hi ha una sintaxi senzilla per crear un sinònim en una base de dades independent, crear sinònim myschema.mytable1 per a [email protected]_link1
Com que tenim un sinònim anomenat mytable1 a myschema per a [email protected]_link1 (taula de base de dades distribuïda), podem fer referència fàcilment a la taula de base de dades distribuïda mitjançant mytable1. No cal que utilitzem el nom de l'objecte llarg amb l'enllaç de la base de dades a tot arreu.
Àlies
Aquests són només un nom més per a una vista, una taula o una columna dins d'una consulta. No són objectes de base de dades. Per tant, els àlies no són vàlids a tot arreu de l'esquema/base de dades. Només són vàlids dins de la consulta. Vegem aquest exemple, seleccioneu tab1.col1 com a c1, tab2.col2 com a c2
des de user1.tab1 tab1, user1.tab2 tab2
on tab1.col1=tab2.col2
Aquí, c1 i c2 són àlies de columna, que s'utilitzen per a tab1.col1 i tab2.col2, i tab1 i tab2 són àlies de taula, que s'utilitzen per a user1.table1 i user2.table2. Tots aquests àlies només són vàlids dins d'aquesta consulta.
Quina diferència hi ha entre Sinònim i Àlies (a les bases de dades ORACLE)?