Poznámka: Diagram modelu databáze je k dispozici jenom v určitých verzích Visia. Další informace najdete v části Nemůžete najít funkce pro modelování databází.
Principy pravidel referenční integrity
Pravidla referenční integrity brání uživatelům databáze omylem přerušit mapování mezi souvisejícími sloupci.
Řekněme, že máte databázi s názvem knihy se dvěma tabulkami nazvaných tituly a autoři. Pro účely tohoto příkladu má každý název jenom jednoho autora, ale každý z nich může mít víc nadpisů, a vytvářet tak to, co se označuje jako relace typu 1: n. Tabulka na straně 1 relace se označuje jako nadřazená tabulka. Tabulka na straně n se nazývá podřízená tabulka.
Za účelem shromáždění informací o jednotlivých knihách a jejím autorovi používá dotaz klávesy, které porovnávají jednotlivé knihy v tabulce tituly svému autorovi v tabulce Autoři. Nadřazená tabulka (autoři) musí mít primární klíč , který jednoznačně identifikuje každý řádek. Tabulka názvy musí mít sloupec, který obsahuje AuthorID pro každý název. Tento sloupec se nazývá cizí klíč. Primární klíč identifikuje jednotlivé autory a cizí klíč označuje, které knihy vytvořil autor.
Pokud uživatel změní AuthorID pro autora v nadřazené tabulce, aniž by aktualizoval AuthorID v tabulce názvy, nemají už platný autor.
Místo toho, abyste museli měnit AuthorID v obou tabulkách, můžete nastavit pravidla referenční integrity, aby byla provedena požadovaná akce. Při změně nebo odstranění klíče v nadřazené tabulce můžete použít model databáze.
Poznámka: Pojmy rodič a dítě se používají k tomu, aby se v kategoriích vytvořily položky, které jsou vytvořené s nadřazenou položkou kategorie, kategoriea kategorie , podřízenými obrazci. Další informace o kategoriích najdete v tématu definování kategorií v diagramu modelu databáze.
Nastavení akcí pro referenční integritu
-
Poklikejte na vztah, pro který chcete nastavit referenční akci.
-
V okně Vlastnosti databáze v části kategorieklikněte na Referenční akce.
-
Klikněte na akci, kterou má databáze provést, na odpovídající hodnotu v podřízené tabulce. Můžete si vybrat z následujících akcí:
-
Žádná akce Při změně nebo odstranění primárního klíče nadřazené tabulky je odpovídající hodnota v cizím klíči podřízené tabulky beze změny.
-
Nášejí Při změně nebo odstranění primárního klíče nadřazené tabulky se hodnota odpovídající hodnoty v cizím klíči podřízené tabulky změní nebo odstraní tak, aby odpovídala primárnímu klíči.
-
Nastavit hodnotu NULL Při změně nebo odstranění primárního klíče nadřazené tabulky je odpovídající hodnota v cizím klíči podřízené tabulky nastavena na hodnotu NULL.
-
Nastavit jako výchozí Když se změní nebo odstraní hodnota primárního klíče nadřazené tabulky, bude odpovídající hodnota v cizím klíči podřízené tabulky nastavena na výchozí hodnotu, kterou jste zvolili.
-
Nevynucují Tato akce vypne pravidla referenční integrity pro tuto relaci.
-
Poznámka: Pokud je hodnota set null a nastavení výchozích možností zakázána, je pravděpodobné, že na kartě různé v okně Vlastnosti databáze pro danou relaci je nastavená možnost nepovinná.
Nastavení výchozí hodnoty pro sloupec
Pokud chcete použít nastavení výchozí akce, musíte zadat výchozí hodnotu sloupce.
-
Poklikejte na tabulku v diagramu a otevřete okno Vlastnosti databáze.
-
V části kategorieklikněte na sloupce, klikněte na sloupec, pro který chcete vytvořit výchozí hodnotu, a potom klikněte na Upravit.
-
Na kartě definice v dialogovém okně vlastnosti sloupce zadejte hodnotu výchozí.
Zobrazení referenční integrity pomocí zápisu
Možnosti dokumentu můžete nastavit tak, aby se v modelu zobrazoval nebo zobrazil zápis referenční integrity vedle čar relací.
Co znamenají písmena ve formátu referenční integrity?
V zápisu referenční integrity se zobrazí relace se dvěma písmeny oddělenými dvojtečkou ve tvaru [akce provedená v nadřazené tabulce]: [výsledek v podřízené tabulce]. Například d:C znamená, že když něco odstraníte z nadřazené tabulky, bude změna přenesena do podřízené tabulky.
Akce v nadřazené tabulce jsou označené malým písmenem:
-
Shan Aktualizuje se data v nadřazené tabulce.
-
dvojrozměrné Data v nadřazené tabulce se odstraní.
Výsledky v podřízené tabulce jsou označené velkým písmenem:
-
R žádná akce Neměňte podřízenou tabulku.
-
C kaskádovitě Replikovat změnu v podřízené tabulce.
-
D nastavit jako výchozí Vložte výchozí hodnotu, kterou jste dříve nastavili pro daný sloupec v podřízené tabulce.
-
N nastavit hodnotu null Nastavení podřízené tabulky na hodnotu NULL
-
Dávejte Nevynucují referenční integritu této relace.
Poznámka: Toto nastavení ovlivňuje, co se stane ve skutečné databázi, ne v modelu. V modelu, jehož zpětnou analýzu provedete z existující databáze, uvidíte, jak je databáze navržená s ohledem na referenční integritu. V modelu, který vytvoříte úplně od začátku, můžete toto nastavení použít k dokumentování toho, jak chcete, aby se databáze, ke které vytváříte, chová.
Zobrazení referenční integrity ve Visiu 2010
-
Na kartě Databáze ve skupině Správa klikněte na Možnosti zobrazení.
-
Na kartě vztahy zaškrtněte v části Zobrazitpolíčko Referenční akce .
Nemůžete najít funkce pro modelování databází?
Některé verze Visia nemají šablonu diagramu modelu databáze.
Visio Standard neobsahuje šablonu Diagram modelu databáze.
Edice Visio Professional a Premium podporují funkce zpětné analýzy pro šablonu Diagram modelu databáze (použití existující databáze k vytvoření modelu ve Visiu), ale nepodporují dopřednou analýzu (použití modelu databáze Visia k vygenerování kódu SQL).
Poznámka: Úplnou sadu funkcí pro modelování databází, včetně zpětné a dopředné analýzy, obsahuje Visio for Enterprise Architects. Visio for Enterprise Architects je součástí předplatného MSDN Premium, které je k dispozici s edicemi založenými na rolích Visual Studio Professional a Visual Studio Team System.
Pokud používáte Visio Plan 2 a chcete se dozvědět, jak vytvořit existující databázi do modelu databáze, přečtěte si téma Analýza existující databáze.