Synonymum vs Alias (v databázach ORACLE) Súkromné synonymá a Verejné synonymá
V angličtine majú synonymá a aliasy takmer rovnaký význam. Ale v databázach sú to dve odlišné veci. Najmä v databázach ORACLE sa obe ich použitia líšia. Synonymá sa používajú na odkazovanie na objekty schémy alebo databázy z inej schémy. Synonymum je teda typ databázového objektu. Aliasy však prichádzajú iným spôsobom. To znamená; nie sú to databázové objekty. Aliasy sa používajú na odkazovanie na tabuľky, zobrazenia a stĺpce v dotazoch.
Synonymá
Jedná sa o typ databázových objektov. Odvolávajú sa na iné objekty v databáze. Najbežnejšie použitie synonyma je odkazovať na objekt samostatnej schémy pomocou iného názvu. Môžu sa však vytvoriť synonymá, ktoré odkazujú aj na objekty inej databázy (v distribuovaných databázach pomocou odkazov na databázu). Ako referencie pre synonymá možno použiť tabuľky, zobrazenia, funkcie, procedúry, balíčky, sekvencie, materializované zobrazenia, objekty triedy Java a spúšťače. Existujú dva typy synoným.
- Súkromné synonymá (môžu byť použité iba používateľom, ktorý ich vytvoril.)
- Verejné synonymá (môžu ich používať všetci používatelia s príslušnými oprávneniami)
Tu je jednoduchá syntax na vytvorenie synonyma v samostatnej databáze,
vytvoriť synonymum myschema.mytable1 pre [email protected] _link1
Pretože máme v myscheme synonymum s názvom mytable1 pre [email protected] _link1 (tabuľka distribuovanej databázy), môžeme tabuľku distribuovanej databázy ľahko odkázať pomocou tabuľky mytable1. Nepotrebujeme všade používať dlhý názov objektu s odkazom na databázu.
Alias
Jedná sa iba o iný názov pohľadu, tabuľky alebo stĺpca v dotaze. Nie sú to databázové objekty. Preto nie sú aliasy platné všade v schéme / databáze. Sú platné iba vo vnútri dotazu. Pozrime sa na tento príklad, vyberte tab1.col1 ako c1, tab2.col2 ako c2
z karty user1.tab1 tab1, user1.tab2 tab2
kde tab1.col1 = tab2.col2
Tu sú C1 a C2 aliasy stĺpcov, ktoré sa používajú pre tab1.col1 a tab2.col2, a tab1 a tab2 sú aliasy tabuliek, ktoré sa používajú pre user1.table1 a user2.table2. Všetky tieto aliasy sú platné iba v tomto dotaze.
Aký je rozdiel medzi Synonymom a Aliasom (v databázach ORACLE)? Synonymá sú typom databázového objektu. Ale aliasy sú len meno, ktoré odkazuje na tabuľku, pohľad alebo stĺpec v dotaze. Toto nie je databázový objektMôžu sa vytvárať synonymá pre tabuľky, zobrazenia, funkcie, procedúry, balíky, sekvencie, materializované zobrazenia, typy objektov triedy java a spúšťače. Aliasy sa ale používajú iba pre zobrazenia, tabuľky a ich stĺpcePretože synonymá sú databázovým objektom, sú platné vo vnútri schémy (súkromné synonymum) alebo vo vnútri databázy (verejné synonymum). Ale aliasy sú platné vo vnútri dotazu, kde sa používajúKaždá schéma vyžaduje na vytvorenie synoným oprávnenie „vytvoriť synonymum“. Používanie aliasov však nemá žiadne privilégiá |