Synonymum (databáze) - Synonym (database)

A synonymum je alias nebo alternativní název pro a stůl, Pohled, sekvence, nebo jiný schéma objekt. Používají se hlavně k usnadnění přístupu uživatelů k databázovým objektům, které vlastní ostatní uživatelé. Skrývají identitu podkladového objektu a ztěžují škodlivému programu nebo uživateli cílit na podkladový objekt. Protože synonymum je pouze alternativní název objektu, nevyžaduje kromě jeho definice žádné jiné úložiště. Když aplikace používá synonymum, DBMS předá požadavek základnímu objektu synonyma. Tím, že programujete své programy tak, aby místo názvů databázových objektů používaly synonyma, se izolujete od jakýchkoli změn v názvu, vlastnictví nebo umístění objektů. Pokud často odkazujete na databázový objekt, který má dlouhý název, můžete ocenit možnost odkazovat na něj s kratším názvem, aniž byste jej museli přejmenovávat a měnit kód, který na něj odkazuje.

Synonyma jsou velmi výkonná z hlediska umožnění přístupu uživatelů k objektům, které se v nich nenacházejí schéma. Všechna synonyma musí být vytvořena explicitně pomocí příkazu CREATE SYNONYM a podkladové objekty mohou být umístěny ve stejném databáze nebo v jiných databázích, které jsou propojeny odkazy na databáze[vyjasnit ].

Existují dvě hlavní použití synonym:

  • Neviditelnost objektu: Je možné vytvořit synonyma, aby se původní objekt před uživatelem skryl.
  • Neviditelnost místa: Synonyma lze vytvářet jako aliasy pro tabulky a další objekty, které nejsou součástí místní databáze.

Když vytvoříte tabulku nebo proceduru, vytvoří se ve vašem schématu a ostatní uživatelé k ní budou mít přístup pouze pomocí názvu vašeho schématu jako předpony názvu objektu. Cesta kolem je pro vlastníka schématu, který vytvoří synonymum se stejným názvem jako název tabulky.

Veřejná synonyma

Veřejná synonyma jsou vlastněna zvláštním schématem v Oracle Database s názvem VEŘEJNOST. Jak již bylo zmíněno dříve, na veřejná synonyma mohou odkazovat všichni uživatelé v databázi. Veřejná synonyma jsou obvykle vytvářena vlastníkem aplikace pro tabulky a další objekty, jako jsou procedury a balíčky, aby uživatelé aplikace mohli objekty vidět

Následující kód ukazuje, jak vytvořit veřejné synonymum pro tabulku zaměstnanců:

VYTVOŘIT VEŘEJNOST SYNONYMUM zaměstnanci pro hr.zaměstnanci;

Nyní může každý uživatel zobrazit tabulku pouhým zadáním původního názvu tabulky. Pokud si přejete, můžete zadat jiný název tabulky pro tuto tabulku v příkazu CREATE SYNONYM. Nezapomeňte, že DBA musí vytvářet veřejná synonyma. To, že vidíte tabulku prostřednictvím veřejného (nebo soukromého) synonyma, ještě neznamená, že v ní můžete provádět také operace VÝBĚR, VLOŽENÍ, AKTUALIZACE nebo ODSTRANĚNÍ. Aby uživatel mohl tyto operace provádět, potřebuje konkrétní oprávnění pro podkladový objekt, a to buď přímo, nebo prostřednictvím rolí od vlastníka aplikace.

Soukromá synonyma

Soukromé synonymum je synonymum v rámci schématu databáze, které vývojář obvykle používá k maskování skutečného názvu tabulky, zobrazení uložené procedury nebo jiného databázového objektu ve schématu aplikace.

Na soukromá synonyma, na rozdíl od veřejných synonym, lze odkazovat pouze schématem, které vlastní tabulku nebo objekt. Možná budete chtít vytvořit soukromá synonyma, když chcete odkazovat na stejnou tabulku v různých kontextech. Soukromé synonymum přepíše veřejné definice synonym. Soukromá synonyma vytváříte stejným způsobem jako veřejná synonyma, ale klíčové slovo PUBLIC v příkazu CREATE vynecháte.

Následující příklad ukazuje, jak vytvořit soukromé synonymum s názvem adresy pro tabulku umístění. Všimněte si, že jakmile vytvoříte soukromé synonymum, můžete na synonymum odkazovat přesně tak, jako byste použili původní název tabulky.

VYTVOŘIT SYNONYMUM adresy PRO hr.umístění;

Zrušte synonymum

Synonyma, soukromá i veřejná, jsou vynechána stejným způsobem pomocí příkazu DROP SYNONYM, ale existuje jeden důležitý rozdíl. Pokud upouštíte veřejné synonymum; za klíčové slovo DROP musíte přidat klíčové slovo PUBLIC.

POKLES SYNONYMUM adresy;

Zobrazení ALL_SYNONYMS (nebo DBA_SYNONYMS) poskytuje informace o všech synonymech ve vaší databázi.

Reference

  • Palinski, John Adolph (2002). Příručka Oracle SQL a PL / SQL: Průvodce pro správce dat, vývojáře a obchodní analytiky. Addison – Wesley. ISBN  978-0-201-75294-6.
  • Gennick, Jonathan (2004). Oracle SQL * Plus: definitivní průvodce. O'Reilly Media. ISBN  978-0-596-00746-1.
  • Alapati, Sam R (2005). Expertní správa Oracle Database 10g. Apress. ISBN  978-1-59059-451-3.
  • Bobrowski, Steve. Praktická edice Oracle Database 10g Express Edition pro Windows. McGraw-Hill. ISBN  978-0-07-226331-2.