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.
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)?
|