Diferența dintre sinonim și alias

Anonim

Sinonim vs Alias ​​ (în bazele de date ORACLE) | Sinonime private și sinonime publice

În limba engleză, sinonimul și aliasul au aproape aceleași semnificații. Dar în bazele de date acestea sunt două lucruri diferite. Mai ales în bazele de date ORACLE, ambele utilizări sunt diferite. Sinonimele sunt folosite pentru a trimite obiecte dintr-o schemă sau dintr-o bază de date dintr-o altă schemă. Deci, sinonimul este un tip de obiect bază de date. Dar pseudonimele vin într-un mod diferit. Asta inseamna; acestea nu sunt obiecte baze de date. Aliasurile sunt folosite pentru a trimite tabele, vizualizări și coloane în interogări.

Sinonime

Acestea sunt un tip de obiecte baze de date. Ele se referă la alte obiecte din baza de date. Cea mai obișnuită utilizare a sinonimului este de a trimite un obiect al unei scheme separate utilizând un alt nume. Dar sinonimele pot fi create pentru a trimite obiectele unei alte baze de date, de asemenea (în baze de date distribuite, folosind link-uri de baze de date). Tabelele, vederile, funcțiile, procedurile, pachetele, secvențele, vederile materializate, obiectele de clasă java și declanșatoarele pot fi folosite ca referințe pentru sinonime. Există două tipuri de sinonime.

-
  1. Sinonime private (pot fi utilizate de toți utilizatorii care au privilegiile corespunzătoare)
  2. Aici este un simplu sintaxa pentru a crea un sinonim într-o bază de date separată,

a crea sinonimă myschema. mytable1 pentru userA. table1 @ database_link1

Deoarece avem un sinonim numit

mytable1 în myschema pentru userA. table1 @ database_link1 (tabelul bazei de date distribuite) , putem trimite cu ușurință tabelul bazei de date distribuite folosind mytable1. Nu este nevoie să folosim numele de obiect lung cu link-ul bazei de date peste tot.

Alias ​​

Acestea sunt doar un alt nume pentru o vizualizare, o tabelă sau o coloană din interiorul unei interogări. Ele nu sunt obiecte baze de date. Prin urmare, aliasurile nu sunt valabile peste tot în schemă / bază de date. Ele sunt valabile doar în interogare. Să vedem acest exemplu,

selectați tab1. col1 ca c1, tab2. col2 ca c2

de la user1. tab1 tab1, user1. tab2 tab2

unde tab1. col1 = tab2. col2

Aici, c1 și c2 sunt aliasuri de coloane, care sunt utilizate pentru tab1. col1 și tab2. col2, și tab1 și tab2 sunt aliasuri de tabelă, care sunt utilizate pentru utilizator1. table1 și user2. Tabelul 2. Toate aceste pseudonime sunt valide numai în această interogare.

Care este diferența dintre Sinonim și Alias ​​

(în bazele de date ORACLE) ? Sinonimele reprezintă un tip de obiect de bază de date. Dar pseudonimele sunt doar un nume pentru a trimite o tabelă, o vizualizare sau o coloană în interiorul unei interogări. Nu este un obiect de baze de date.