Úvod do objektů DataRelation
Soubory, obsahující související data tabulky použít DataRelation objekty představující vztah nadřazený podřízený mezi tabulkami a vrátit související záznamy od sebe. Přidání souvisejících tabulek pomocí objektů DataSet Průvodce konfigurací zdroje dat, nebo Dataset Návrhář, vytvoří a nastaví DataRelation objektu můžete. Další informace o vracení související záznamy, viz Postupy: Přístup k záznamům v souvisejících DataTables. Informace o vytváření vztahů dat naleznete v tématu Postupy: Vytváření DataRelations pomocí Návrháře DataSet.
DataRelation Objektu provádí dvě funkce:
Jej zpřístupnit záznamy týkající se záznamů, které pracujete. Pokud nadřazený záznam obsahuje podřízené záznamy (GetChildRows) a nadřazený záznam, pokud pracujete s podřízený záznam (GetParentRow ).
Jej lze vynutit omezení pro referenční integritu, například při odstranění nadřazené záznamu odstranění souvisejícím podřízeným záznamům.
Je důležité pochopit rozdíl mezi true spojení a funkce DataRelation objektu. True spojení jsou záznamy z nadřazené a podřízené tabulky a do záznamů jednoho, plochou. Při použití DataRelation objektu je vytvořena žádná nová sada záznamů. Místo toho vztahu sleduje vztah mezi tabulkami a udržuje synchronizace údaji nadřazené a podřízené záznamy.
Objekty DataRelation a omezení
A DataRelation objektu je také možné vytvořit a vynutit následující omezení:
Jedinečné omezení, která zaručuje, že sloupec v tabulce neobsahuje duplicitní položky.
Omezení cizího klíče, které lze použít k udržení referenční integrity mezi nadřazené a podřízené tabulky v objektu dataset.
Omezení, která určíte v DataRelation objektu jsou implementovány automaticky vytvořením příslušných objektů nebo nastavení vlastností. Pokud vytvoříte omezení cizího klíče pomocí DataRelation objekt, instance ForeignKeyConstraint se do třídy DataRelation's ChildKeyConstraint vlastnost.
Omezení jedinečnosti je implementována buď nastavením jednoduše Unique vlastností datového sloupce true nebo přidáním instanci UniqueConstraint do třídy DataRelation objektu ParentKeyConstraint. Informace o pozastavení omezení objekt DataSet, viz Postupy: Vypnutí omezení při naplňování datové sady.
Pravidla referenční Integrity
Jako součást omezení cizího klíče můžete zadat pravidla referenční integrity, které se používají na tři body:
Když je aktualizován nadřazený záznam
Při odstranění nadřazené záznamu
Při přijetí nebo zamítnutí změny
Můžete vytvořit pravidla jsou určena v Rule výčet a jsou uvedeny v následující tabulce.
Pravidlo omezení cizí klíč |
Akce |
---|---|
Související záznamy v podřízené tabulce i je provedena změna (aktualizace nebo odstranění) na nadřazený záznam. |
|
Podřízené záznamy nebudou odstraněny, ale cizího klíče v podřízené záznamy, nastavena na DBNull. Toto nastavení může být ponecháno podřízené záznamy jako "sirotky" –, nemají žádný vztah k nadřazené záznamy.
Poznámka
Pomocí tohoto pravidla může mít za následek neplatná data v podřízené tabulce.
|
|
Cizí klíč v souvisejícím podřízeným záznamům je nastavena na výchozí hodnotu (stanovenou ve sloupci DefaultValue vlastnost). |
|
Žádné změně souvisejícím podřízeným záznamům. Toto nastavení lze ukončit podřízené záznamy až obsahující odkazy na záznamy Neplatná nadřazená. |
Další informace o aktualizacích v tabulkách dataset, viz Ukládání dat v datových sadách.
Pouze omezení vztahy
Při vytváření DataRelation objektu, máte možnost určení použít vztah pouze k vynucení omezení –, jej budou také nelze přístup související záznamy. Tato možnost umožňuje generovat dataset mírně účinnější a který obsahuje metody méně než jeden s možností související záznamy. Však nebude mít přístup k související záznamy. Vztah pouze omezení zabrání odstranění nadřazený záznam, který má stále dětí a podřízené záznamy nelze získat přístup prostřednictvím nadřazené.
Viz také
Referenční dokumentace
Průvodce konfigurací zdroje dat
Koncepty
Práce s datovými sadami v sadě Visual Studio
Příprava vaší aplikace k příjmu dat