Poznámka
Diagram modelu databázy je dostupný len v niektorých verziách Visia. Ďalšie informácie nájdete v časti Nemôžete nájsť funkcie modelovania databázy?
Informácie o pravidlách referenčnej integrity
Pravidlá referenčnej integrity chránia používateľov databázy pred náhodným prerušením priradenia medzi súvisiacimi stĺpcami.
Povedzme, že máte databázu s názvom Knihy s dvomi tabuľkami s názvami a Autori. Na účely tohto príkladu má každý titul iba jedného autora, ale každý autor môže mať viacero titulov, čím vznikne vzťah "one-to-many". Tabuľka na strane "one" tohto vzťahu sa nazýva nadradená tabuľka. Tabuľka na strane "many" sa nazýva podriadená tabuľka.
S cieľom zhromaždiť informácie o každej knihe a jej autorovi používa dotaz kľúče na priradenie každej knihy v tabuľke Názvy k jej autorovi v tabuľke Autori. Nadradená tabuľka (autori) musí mať primárny kľúč , ktorý jedinečne identifikuje každý riadok. Tabuľka Názvy musí obsahovať stĺpec obsahujúci identifikátor AuthorID pre každý titul. Tento stĺpec sa nazýva cudzí kľúč. Primárny kľúč identifikuje každého autora a cudzí kľúč identifikuje, ktoré knihy napísal ktorý autor.
Ak používateľ zmení autorovu identifikáciu autora v nadradenej tabuľke bez toho, aby aktualizoval hodnotu AuthorID v tabuľke Titles, knihy v tabuľke Tituly už nebudú mať platného autora.
Namiesto zmeny hodnoty AuthorID v oboch tabuľkách môžete nastaviť pravidlá referenčnej integrity na vykonanie požadovanej akcie. Môžete vybrať, či má model databázy vykonať konkrétne akcie po zmene alebo odstránení kľúča v nadradenej tabuľke.
Poznámka
Pojmy nadradený a podradený sa používajú na význam niečoho úplne odlišného v kategóriách, pri ktorých sa vytvárajú tvary Nadradený ku kategórii, Kategória a Kategória k podriadeným tvarom. Ďalšie informácie o kategóriách nájdete v téme Definovanie kategórií v diagrame modelu databázy.
Nastavenie akcií pre referenčnú integritu
Dvakrát kliknite na vzťah, pre ktorý chcete nastaviť referenčnú akciu.
V okne Vlastnosti databázy kliknite v časti Kategórie na položku Referenčná akcia.
Kliknite na akciu, ktorú má databáza vykonať so zodpovedajúcou hodnotou v podriadenej tabuľke. Môžete si vybrať spomedzi nasledujúcich akcií:
- Žiadna akcia Keď sa hodnota v primárnom kľúči nadradenej tabuľky zmení alebo odstráni, zodpovedajúca hodnota v cudzom kľúči podriadenej tabuľky zostane nezmenená.
- Kaskádový Pri zmene alebo odstránení hodnoty v primárnom kľúči nadradenej tabuľky sa zmení alebo odstráni zodpovedajúca hodnota cudzieho kľúča podriadenej tabuľky tak, aby zodpovedala primárnemu kľúču.
- Nastaviť hodnotu NULL Pri zmene alebo odstránení hodnoty v primárnom kľúči nadradenej tabuľky sa zodpovedajúca hodnota cudzieho kľúča podriadenej tabuľky nastaví na hodnotu NULL.
- Nastaviť ako predvolené Pri zmene alebo odstránení hodnoty v primárnom kľúči nadradenej tabuľky sa zodpovedajúca hodnota cudzieho kľúča podriadenej tabuľky nastaví na vybratú predvolenú hodnotu.
- Nevynucovať Táto akcia vypne pravidlá referenčnej integrity pre tento vzťah.
Poznámka
Ak sú možnosti Nastaviť NULL a Nastaviť predvolené vypnuté, je pravdepodobné, že vzťah je na karte Rôzne v okne Vlastnosti databázy pre vzťah nastavený na možnosť Voliteľné.
Nastavenie predvolenej hodnoty pre stĺpec
Ak chcete použiť akciu Nastaviť predvolené , je potrebné zadať predvolenú hodnotu stĺpca.
- Dvojitým kliknutím na tabuľku v diagrame otvorte okno Vlastnosti databázy.
- V časti Kategórie kliknite na položku Stĺpce, kliknite na stĺpec, pre ktorý chcete vytvoriť predvolenú hodnotu, a potom kliknite na položku Upraviť.
- Na karte Definícia v dialógovom okne Vlastnosti stĺpca zadajte hodnotu predvolenej hodnoty.
Zobrazenie referenčnej integrity pomocou zápisu
V možnostiach dokumentu môžete nastaviť zápis tak, aby sa vedľa čiar vzťahov v modeli skryl alebo zobrazil zápis referenčnej integrity.
Čo znamenajú písmená v zápise referenčnej integrity?
Zápis referenčnej integrity zobrazuje vzťahy s dvoma písmenami oddelenými dvojbodkou v tvare [akcia vykonaná v nadradenej tabuľke]:[výsledok v podriadenej tabuľke]. Napríklad d:C znamená, že keď sa niečo odstráni z nadradenej tabuľky, zmena sa kaskádovito prenesie do podriadenej tabuľky.
Akcie v nadradenej tabuľke sú označené malými písmenami:
- u Aktualizujú sa údaje v nadradenej tabuľke.
- d Údaje v nadradenej tabuľke sa odstránia.
Výsledky v podriadenej tabuľke sú označené veľkým písmenom:
- R Žiadna akcia Nemeňte podriadenú tabuľku.
- C Cascade Replikuje zmenu v podriadenej tabuľke.
- D Nastaviť ako predvolené Vložte predvolenú hodnotu, ktorú ste predtým pre daný stĺpec nastavili v podriadenej tabuľke.
- N Set Null Nastavte podriadenú tabuľku na hodnotu NULL.
- (Prázdne) Nevynucujte referenčnú integritu pre tento vzťah.
Poznámka
Tieto nastavenia ovplyvňujú to, čo sa deje v skutočnej databáze, nie v modeli. V modeli, ktorý spätne analyzujete z existujúcej databázy, môžete vidieť, ako je databáza navrhnutá s ohľadom na referenčnú integritu. V modeli vytvorenom úplne od začiatku môžete tieto nastavenia použiť na zdokumentovanie toho, ako sa má správať modelovaná databáza.
Zobrazenie referenčnej integrity v programe Visio 2010
- Na karte Databáza kliknite v skupine Spravovať na položku Možnosti zobrazenia.
- Na karte Vzťahy začiarknite v časti Zobraziť políčko Referenčné akcie .
Nemôžete nájsť funkcie modelovania databázy?
Niektoré verzie Visia neobsahujú šablónu Diagram modelu databázy.
Visio Standard šablónu Diagram modelu databázy nezahŕňa.
Vydania Visio Professional a Premium podporujú funkcie spätnej analýzy pre šablónu Diagram modelu databázy (vytvorenie modelu vo Visiu pomocou existujúcej databázy), nepodporuje však následnú analýzu (vytvorenie kódu SQL pomocou modelu databázy Visia).
Poznámka
Celú škálu funkcií modelovania databázy vrátane spätnej aj následnej analýzy nájdete v programe Visio for Enterprise Architects. Visio for Enterprise Architects je súčasťou predplatného MSDN Premium, ktoré je dostupné v rámci vydaní Visual Studio Professional a Visual Studio Team System využívajúcich roly.
Ak používate Visio Plan 2 a chcete zistiť, ako vytvoriť databázový model z existujúcej databázy, pozrite si tému Spätná analýza existujúcej databázy.