Erinevus sünonüümi ja varjunime vahel

Sünonüüm vs varjunimi (ORACLE andmebaasides) | Privaat- ja avalikud sünonüümid
 

Eesti keeles on sünonüümil ja varjunimed peaaegu samad tähendused. Kuid andmebaasides on need kaks erinevat asja. Eriti ORACLE andmebaasides on mõlema kasutamine erinev. Sünonüüme kasutatakse skeemi või andmebaasi objektide viitamiseks teisest skeemist. Nii et sünonüüm on andmebaasi objekti tüüp. Kuid varjunimed tulevad teisiti. See tähendab; need ei ole andmebaasi objektid. Pseudonüüme kasutatakse tabelite, vaadete ja veergude viitamiseks päringutes.

Sünonüümid

Need on teatud tüüpi andmebaasi objektid. Need viitavad teistele andmebaasi objektidele. Sünonüümi kõige levinum kasutamine on eraldi skeemi objektile viitamine teise nime abil. Kuid sünonüüme saab luua ka mõne teise andmebaasi objektidele viitamiseks (hajutatud andmebaasides, kasutades andmebaasilinke). Sünonüümide viidetena saab kasutada tabeleid, vaateid, funktsioone, protseduure, pakette, jadasid, realiseeritud vaateid, java klassi objekte ja päästikuid. Sünonüüme on kahte tüüpi.

  1.  Privaatsed sünonüümid (saab kasutada ainult neid loonud kasutaja).
  2.  Avalikud sünonüümid (saavad kasutada kõik kasutajad, kellel on vastavad õigused)

Siin on lihtne süntaks eraldi andmebaasis sünonüümi loomiseks,

loo sünonüüm myschema.mytable1 saidile [email protected] _link1

Kuna meil on sünonüüm nimega mytable1 sisse müsheem jaoks [e-posti aadress on kaitstud] _link1 (hajutatud andmebaasi tabel), saame hajutatud andmebaasi tabelit hõlpsalt kasutada kasutades mytable1. Me ei pea igal pool andmebaasi lingiga pikka objekti nime kasutama.

Teise nimega

Need on lihtsalt üks vaade, tabeli või veeru nimi päringu sees. Need ei ole andmebaasi objektid. Seetõttu ei kehti varjunimed kõikjal skeemis / andmebaasis. Need kehtivad ainult päringu sees. Vaatame seda näidet,

                                    valige tab1col1 kui c1, tab2.col2 kui c2

                                       saitidel kasutaja1.tab1, sakkidel kasutaja1.tab2

                                       kus tab1.col1 = tab2.col2

Siin on c1 ja c2 veergude pseudonüümid, mida kasutatakse tab1col1 ja tab2.col2 jaoks, ning tab1 ja tab2 on tabeli pseudonüümid, mida kasutatakse user1.table1 ja user2.table2. Kõik need varjunimed kehtivad ainult selle päringu sees. 

Mis vahe on sünonüümil ja pseudonüümil? (ORACLE andmebaasides)?

  • Sünonüümid on andmebaasi objekti tüüp. Kuid varjunimed on lihtsalt nimi, mis viitab päringus tabelile, vaatele või veerule. Pole andmebaasi objekt.
  • Sünonüüme saab luua tabelite, vaadete, funktsioonide, protseduuride, pakettide, jadade, realiseeritud vaadete, java-klassi objektide tüüpide ja päästikute jaoks. Kuid varjunimesid kasutatakse ainult vaadete, tabelite ja nende veergude jaoks.
  • Kuna sünonüümid on andmebaasi objekt, kehtivad need skeemis (privaatne sünonüüm) või andmebaasis (avalik sünonüüm). Kuid varjunimed, mis kehtivad päringu sees, kus neid kasutatakse.
  • Iga skeem vajab “Sünonüümi loomine” privileeg sünonüümide loomiseks. Kuid varjunimede kasutamise eesõigusi pole.