Synonymum vs Alias (v databázach ORACLE) Súkromné synonymá a verejné synonymá
V angličtine majú synonymum a alias takmer rovnaké významy. Ale v databázach sú to dve rôzne veci. Obzvlášť v databázach ORACLE je ich použitie odlišné. Synonymá sa používajú na odkazovanie objektov schémy alebo databázy z inej schémy. Synonymum je teda typ databázového objektu. Ale prezývky prichádzajú iným spôsobom. To znamená; nie sú to databázové objekty. Aliasy sa používajú na odkazovanie tabuliek, zobrazení a stĺpcov v rámci dopytov.
synonymá
Toto je typ databázových objektov. Vzťahujú sa na iné objekty v databáze. Najbežnejším použitím synonyma je odkázať objekt samostatnej schémy pomocou iného mena. Synonymá sa však dajú vytvoriť aj na sprostredkovanie odkazov na objekty inej databázy (v distribuovaných databázach pomocou databázových odkazov). Tabuľky, pohľady, funkcie, procedúry, balíčky, sekvencie, zhmotnené pohľady, objekty triedy java a spúšťače sa môžu použiť ako odkazy na synonymá. Existujú dva typy synoným.
Tu je jednoduchá syntax na vytvorenie synonyma v samostatnej databáze,
vytvoriť synonymum myschema.mytable1 pre [email chránený] _link1
Pretože máme synonymum pomenované mytable1 v myschema pre [chránený e-mailom] _link1 (tabuľka distribuovanej databázy), môžeme ľahko odkázať na tabuľku distribuovanej databázy pomocou mytable1. Nepotrebujeme všade používať dlhý názov objektu s databázovým odkazom.
prezývka
Toto je iba ďalšie meno pre zobrazenie, tabuľku alebo stĺpec vo vnútri dotazu. Nejedná sa o databázové objekty. Preto aliasy nie sú platné všade v schéme / databáze. Platia iba vo vnútri dotazu. Pozrime sa na tento príklad,
vyberte tab1.col1 ako c1, tab2.col2 ako c2
z user1.tab1 tab1, user1.tab2 tab2
kde tab1.col1 = tab2.col2
Tu, cl a c2 sú stĺpcové aliasy, ktoré sa používajú pre tab1.col1 a tab2.col2 a tab1 a tab2 sú tabuľkové aliasy, ktoré sa používajú pre user1.table1 a user2.table2. Všetky tieto aliasy sú platné iba v tomto dotaze.
Aký je rozdiel medzi synonymami a aliasmi? (v databázach ORACLE)?
|