Sinonimas prieš slapyvardį (ORACLE duomenų bazėse) | Privatūs sinonimai ir vieši sinonimai
Anglų kalboje sinonimai ir slapyvardžiai turi beveik tas pačias reikšmes. Tačiau duomenų bazėse tai yra du skirtingi dalykai. Ypač ORACLE duomenų bazėse jų abiejų naudojimas skiriasi. Sinonimai naudojami schemos ar duomenų bazės objektams nurodyti iš kitos schemos. Taigi sinonimas yra duomenų bazės objekto tipas. Tačiau slapyvardžiai ateina kitu būdu. Tai reiškia; jie nėra duomenų bazės objektai. Pseudonimai naudojami lentelėms, rodiniams ir stulpeliams nurodyti užklausose.
Sinonimai
Tai yra duomenų bazės objektų tipas. Jie nurodo kitus duomenų bazės objektus. Dažniausias sinonimo vartojimas yra nurodyti atskiros schemos objektą naudojant kitą pavadinimą. Tačiau sinonimus galima sukurti ir kitos duomenų bazės objektams (paskirstytose duomenų bazėse, naudojant duomenų bazių nuorodas). Lentelės, rodiniai, funkcijos, procedūros, paketai, sekos, materializuoti rodiniai, java klasės objektai ir trigeriai gali būti naudojami kaip sinonimų nuorodos. Yra dviejų tipų sinonimai.
- Privatūs sinonimai (gali naudoti tik juos sukūręs naudotojas.)
- Viešieji sinonimai (gali naudoti visi naudotojai, turintys atitinkamas teises)
Štai paprasta sintaksė, skirta sukurti sinonimą atskiroje duomenų bazėje, sukurti sinonimą myschema.mytable1, skirtas [email protected]_link1
Kadangi myschema [email protected]_link1 (paskirstyta duomenų bazės lentelė) turime sinonimą mytable1, todėl paskirstytos duomenų bazės lentelę galime lengvai nurodyti naudodami mytable1. Mums nereikia visur naudoti ilgo objekto pavadinimo su duomenų bazės nuoroda.
Pseudonimas
Tai tik dar vienas rodinio, lentelės ar stulpelio pavadinimas užklausoje. Jie nėra duomenų bazės objektai. Todėl slapyvardžiai galioja ne visur schemoje / duomenų bazėje. Jie galioja tik užklausoje. Pažiūrėkime šį pavyzdį, pasirinkite tab1.col1 kaip c1, tab2.col2 kaip c2
iš user1.tab1 tab1, user1.tab2 tab2
kur tab1.col1=tab2.col2
Čia c1 ir c2 yra stulpelių slapyvardžiai, naudojami tab1.col1 ir tab2.col2, o tab1 ir tab2 yra lentelės slapyvardžiai, kurie naudojami user1.table1 ir user2.table2. Visi šie slapyvardžiai galioja tik šioje užklausoje.
Kuo skiriasi sinonimas ir slapyvardis (ORACLE duomenų bazėse)?