Sdílet prostřednictvím


Vztahy v datových sadách

 

Publikováno: duben 2016

Datové sady, které obsahují související data tabulky použití DataRelation objekty představují nadřízené a podřízené relace mezi tabulkami a vrácení souvisejících záznamů jeden z druhého. Přidání souvisejících tabulek do datové sady pomocí Průvodce konfigurací zdroje dat, nebo Návrhář Dataset, vytvoří a nakonfiguruje DataRelation objekt pro vás.

DataRelation Objektu provádí dvě funkce:

  • Ji zpřístupnit záznamy související záznam, který právě pracujete. Poskytuje podřízené záznamy, pokud jste v nadřazený záznam (GetChildRows) a nadřazeným záznamem, pokud pracujete na podřízený záznam (GetParentRow ).

  • Je-li vynutit omezení referenční integrity, jako je například odstraňování související podřízené záznamy, pokud odstraníte záznam nadřazené.

Je důležité porozumět rozdílu mezi true join a funkce DataRelation objektu. True spojení záznamy jsou převzaty z nadřazené a podřízené tabulky a do jediné, plochých záznamů. Při použití DataRelation objektu, je vytvořen žádné nové sady záznamů. Místo toho vztah sleduje vztah mezi tabulkami a udržuje synchronizována nadřazené a podřízené záznamy.

DataRelation – objekty a omezení

A DataRelation objekt se také používá k vytvoření a vynucení s následujícími omezeními:

  • Jedinečné omezení, což zaručuje, že sloupec v tabulce obsahuje žádné duplikáty.

  • Omezení cizího klíče, který lze použít k udržování referenční integrity mezi nadřazenou a podřízenou tabulkou v datové sadě.

Omezení, která zadáte v DataRelation objektu jsou implementovány automaticky vytvořením příslušné objekty nebo nastavení vlastností. Pokud vytvoříte omezení cizího klíče pomocí DataRelation objekt, instance ForeignKeyConstraint třídy jsou přidány do DataRelationna ChildKeyConstraint vlastnost.

Jedinečné omezení je implementována buď jednoduše nastavením Unique vlastnost sloupce dat na true nebo přidáním instanci UniqueConstraint třídu DataRelation objektu ParentKeyConstraint. Informace o pozastavení omezení v datové sadě naleznete v tématu Vypnutí omezení při naplňování datové sady.

Pravidla referenční Integrity

Jako součást omezení cizího klíče můžete určit pravidla referenční integrity, které se používají na tři body:

  • Při aktualizaci na nadřazený záznam

  • Při odstranění nadřazený záznam

  • Při přijetí nebo zamítnutí změny

Pravidla můžete provádět jsou zadány na Rule výčtu a jsou uvedeny v následující tabulce.

Pravidlo omezení pro cizí klíč Akce
Cascade Provedení změny (aktualizace nebo odstranění) provedené na nadřazený záznam v související záznamy v podřízené tabulce.
SetNull Podřízené záznamy nebudou odstraněny, ale cizí klíče v podřízené záznamy je nastavena na DBNull. Toto nastavení může být ponecháno podřízené záznamy "osamocené položky" – to znamená, budou mít žádný vztah k nadřazené záznamy. Note: Pomocí tohoto pravidla může mít za následek neplatná data v podřízené tabulce.
SetDefault Cizí klíče v související podřízené záznamy je nastavena na výchozí hodnotu (podle sloupce DefaultValue Vlastnosti).
None Související podřízené záznamy provedeny žádné změny. Pomocí tohoto nastavení můžete skončili podřízené záznamy obsahující odkazy na neplatné nadřazené záznamy.

Další informace o aktualizacích v tabulkách datové sady, naleznete v části Uložit data do databáze.

Pouze omezení vztahů

Při vytváření DataRelation objektu, máte možnost určení, že vztah použít pouze k vynucení omezení – to znamená, že ji nebude také být použity pro přístup souvisejících záznamů. Tato možnost umožňuje generovat datovou sadu, která je mírně efektivnější, který obsahuje metody méně než jedna se schopností souvisejících záznamů. Nebudete však moci přistupovat k souvisejících záznamů. Například pouze omezení vztah zabrání odstranění nadřazeného záznamu, který má stále podřízené objekty a podřízené záznamy nelze přistupovat prostřednictvím nadřazeného objektu.

Můžete ručně vytvořit datová relace v Návrháři DataSet

Při vytváření datových tabulek pomocí návrhových nástrojů dat v sadě Visual Studio jsou automaticky vytvořeny vztahy, pokud mohou být informace získané ze zdroje dat. Pokud ručně přidáte tabulky dat z datovou sadu na kartě nástrojů, bude pravděpodobně nutné ručně vytvořit relaci. Další informace o vytváření DataRelation prostřednictvím kódu programu, najdete v části objekty Adding DataRelations.

Vztahy mezi DataTables zobrazí jako řádky na Návrháře Dataset s klíč a nekonečno glyf zobrazující aspekt 1 n relace. Ve výchozím nastavení se nezobrazí název relace na návrhové ploše.

Poznámka

Váš počítač může v následujících pokynech zobrazovat odlišné názvy nebo umístění některých prvků uživatelského rozhraní sady Visual Studio. Tyto prvky jsou určeny edicí sady Visual Studio a použitým nastavením. Další informace najdete v tématu Přizpůsobení integrovaného vývojového prostředí.

Chcete-li vytvořit relaci mezi dvěma DataTables

  1. Otevřete datovou sadu v Návrhář Dataset. Další informace naleznete v tématu Postupy: Otevření datové sady v Návrháři DataSet.

  2. Přetažení vztahu objektu z DataSet nástrojů do podřízené tabulky dat v relaci.

    Vztahu dialogové okno naplnění podřízené tabulky pole s tabulkou jste přetáhli vztahu na.

  3. Vyberte nadřazenou tabulku z nadřazené tabulky pole. Nadřazená tabulka obsahuje záznamy na straně "1" vztah jeden mnoho.

  4. Ověřte správné podřízené tabulky se zobrazí v podřízené tabulky pole. Podřízená tabulka obsahuje záznamy na straně "n" vztah jeden mnoho.

  5. Zadejte název pro relaci v název pole nebo ponechejte výchozí název, který je založen na vybrané tabulky. Toto je název skutečné DataRelation objekt v kódu.

  6. Vyberte sloupce, které spojení tabulek v klíč sloupce a sloupce cizího klíče jsou uvedeny.

  7. Vyberte, zda chcete vytvořit relace a omezení. Informace naleznete v tématu Úvod do objektů DataRelation.

  8. Zaškrtněte nebo zrušte zaškrtnutí vnořené vztah pole. Výběrem této možnosti se nastaví Nested vlastnost na true, a způsobuje, že podřízené řádky vztah vnořených v rámci nadřazeného sloupce po zapsána jako XML data nebo synchronizaci s XmlDataDocument. Další informace naleznete v tématu Nesting DataRelations.

  9. Nastavení pravidel neuplatní při provádění změn záznamy v těchto tabulkách. Další informace naleznete v tématu Rule.

  10. Klikněte na tlačítko OK k vytvoření relace; vztah řádku se zobrazí v Návrháři mezi dvěma tabulkami. Můžete přepínat zobrazující název relace na návrhové ploše zvolením nebo vymazáním zobrazení popisků relací na Data nabídky.

Chcete-li přepnout zobrazení vztahu názvy v Návrháři Dataset

  1. Otevřete datovou sadu v Návrhář Dataset. Další informace naleznete v tématu Postupy: Otevření datové sady v Návrháři DataSet.

  2. Z Data nabídky, zaškrtněte nebo zrušte zobrazení popisků relací příkaz k přepnutí zobrazení názvu vztahu nebo vypnout.