Sünonüüm vs Alias (ORACLE andmebaasides) | Privaatsed sünonüümid ja avalikud sünonüümid
Inglise keeles on sünonüüm ja varjunimi peaaegu sama tähendusega. Kuid andmebaasides on need kaks erinevat asja. Eriti ORACLE andmebaasides on nende mõlemad kasutusalad erinevad. Sünonüüme kasutatakse skeemi objektide või andmebaasi teisele skeemile viitamiseks. Nii et sünonüüm on andmebaasi objekti tüüp. Kuid varjunimed tulevad teistmoodi. See tähendab; need ei ole andmebaasi objektid. Pseudonüüme kasutatakse tabelite, vaadete ja veergude viitamiseks päringute sees.
Sünonüümid
Need on teatud tüüpi andmebaasi objektid. Need viitavad muudele andmebaasi objektidele. Sünonüümi kõige levinum kasutamine on eraldi skeemi objektile viitamine teise nime abil. Kuid ka teise andmebaasi objektide viitamiseks saab luua sünonüüme (hajutatud andmebaasides, kasutades andmebaasi linke). Sünonüümide viidetena saab kasutada tabeleid, vaateid, funktsioone, protseduure, pakette, järjestusi, realiseeritud vaateid, java klassi objekte ja päästikuid. Sünonüüme on kahte tüüpi.
- Privaatsed sünonüümid (saab kasutada ainult nende loonud kasutaja.)
- Avalikud sünonüümid (saavad kasutada kõik kasutajad, kellel on asjakohased privileegid)
Siin on lihtne süntaks sünonüümi loomiseks eraldi andmebaasis, looge [meiliga kaitstud] _link1 jaoks sünonüüm myschema.mytable1
Kuna meil on myschemas sünonüüm nimega mytable1 [email protected] _link1 (hajutatud andmebaasi tabel), saame hajutatud andmebaasi tabelit hõlpsalt viidata mytable1 abil. Me ei pea igal pool kasutama pikka andmebaasi lingiga objekti nime.
Teise nimega
Need on vaid üks päringu vaate, tabeli või veeru nimi. Need ei ole andmebaasi objektid. Seetõttu ei kehti varjunimed skeemis / andmebaasis kõikjal. Need kehtivad ainult päringu sees. Vaatame seda näidet, vali tab1.col1 kui c1, tab2.col2 kui c2
vahekaardilt user1.tab1 tab1, user1.tab2 tab2
kus tab1.col1 = tab2.col2
Siin on c1 ja c2 veeru pseudonüümid, mida kasutatakse tab1.col1 ja tab2.col2 ning tab1 ja tab2 on tabeli pseudonüümid, mida kasutatakse kasutaja1.tabel1 ja kasutaja2.tabel2 puhul. Kõik need varjunimed kehtivad ainult selles päringus.
Mis vahe on sünonüümil ja varjunimel (ORACLE andmebaasides)? Sünonüümid on andmebaasi objekti tüüp. Kuid varjunimed on vaid nimi, mis viitab päringu tabelile, vaatele või veerule. Mitte andmebaasi objektSünonüüme saab luua tabelite, vaadete, funktsioonide, protseduuride, pakettide, jadade, materialiseeritud vaadete, java klassi objektitüüpide ja päästikute jaoks. Kuid varjunimesid kasutatakse ainult vaadete, tabelite ja nende veergude jaoksKuna sünonüümid on andmebaasi objekt, kehtivad need skeemis (privaatne sünonüüm) või andmebaasis (avalik sünonüüm). Kuid varjunimed kehtivad päringu sees, kus neid kasutatakseIga skeem vajab sünonüümide loomiseks õigust luua sünonüüm. Kuid varjunimede kasutamiseks puudub privileeg |