Rozdíl Mezi Synonymem A Aliasem

Obsah:

Rozdíl Mezi Synonymem A Aliasem
Rozdíl Mezi Synonymem A Aliasem

Video: Rozdíl Mezi Synonymem A Aliasem

Video: Rozdíl Mezi Synonymem A Aliasem
Video: Oracle - Synonyms 2024, Smět
Anonim

Synonymum vs Alias (v databázích ORACLE) | Soukromá synonyma a Veřejná synonyma

V angličtině mají synonyma a alias téměř stejný význam. Ale v databázích jsou to dvě různé věci. Zejména v databázích ORACLE se obě jejich použití liší. Synonyma se používají k odkazování na objekty schématu nebo databáze z jiného schématu. Synonymum je tedy typ databázového objektu. Aliasy však přicházejí jiným způsobem. To znamená; nejsou to databázové objekty. Aliasy se používají k odkazování na tabulky, pohledy a sloupce uvnitř dotazů.

Synonyma

Jedná se o typ databázových objektů. Odkazují na jiné objekty v databázi. Nejběžnějším použitím synonyma je odkazovat na objekt samostatného schématu pomocí jiného názvu. Lze však vytvořit synonyma i pro odkazy na objekty jiné databáze (v distribuovaných databázích pomocí odkazů na databázi). Jako reference pro synonyma lze použít tabulky, pohledy, funkce, procedury, balíčky, sekvence, materializovaná zobrazení, objekty třídy Java a triggery. Existují dva typy synonym.

  1. Soukromá synonyma (může být použita pouze uživatelem, který je vytvořil.)
  2. Veřejná synonyma (mohou je používat všichni uživatelé, kteří mají příslušná oprávnění)

Zde je jednoduchá syntaxe pro vytvoření synonyma v samostatné databázi,

vytvořit synonymum myschema.mytable1 pro [email protected] _link1

Protože máme synonymum s názvem mytable1 v myschema pro [email protected] _link1 (tabulka distribuované databáze), můžeme snadno odkazovat na tabulku distribuované databáze pomocí mytable1. Nepotřebujeme všude používat dlouhý název objektu s databázovým odkazem.

Alias

Jedná se pouze o jiný název pohledu, tabulky nebo sloupce uvnitř dotazu. Nejsou to databázové objekty. Aliasy proto nejsou platné všude ve schématu / databázi. Jsou platné pouze uvnitř dotazu. Podívejme se na tento příklad

vyberte tab1.col1 jako c1, tab2.col2 jako c2

z karty user1.tab1 tab1, user1.tab2 tab2

kde tab1.col1 = tab2.col2

Zde c1 a c2 jsou aliasy sloupců, které se používají pro tab1.col1 a tab2.col2, a tab1 a tab2 jsou aliasy tabulek, které se používají pro user1.table1 a user2.table2. Všechny tyto aliasy jsou platné pouze uvnitř tohoto dotazu.

Jaký je rozdíl mezi Synonymem a Aliasem (v databázích ORACLE)?

Synonyma jsou typ databázového objektu. Aliasy jsou ale jen název, který odkazuje na tabulku, pohled nebo sloupec uvnitř dotazu. Není to databázový objekt

Lze vytvořit synonyma pro tabulky, pohledy, funkce, procedury, balíčky, sekvence, materializovaná zobrazení, typy objektů třídy java a spouštěče. Aliasy se ale používají pouze pro pohledy, tabulky a jejich sloupce

Protože synonyma jsou databázový objekt, jsou platná uvnitř schématu (soukromé synonymum) nebo uvnitř databáze (veřejné synonymum). Ale aliasy platné uvnitř dotazu, kde se používají

Každé schéma potřebuje k vytvoření synonym oprávnění „vytvořit synonymum“. K používání aliasů však neexistuje žádná výsada

Doporučená: