Sdílet prostřednictvím


referential integrity constraint

Omezení referenční integrity v modelu Entity Data Model (EDM) se podobá omezení referenční integrity v relační databázi. Stejně jako sloupec (nebo sloupce) z tabulky databáze může odkazovat na primární klíč jiné tabulky, vlastnost (nebo vlastnosti) typu entity může odkazovat na klíč entity jiného typu entity. Typ entity, na který se odkazuje, se nazývá hlavní konec omezení. Typ entity, který odkazuje na konec objektu zabezpečení, se nazývá závislý konec omezení.

Omezení referenční integrity je definováno jako součást přidružení mezi dvěma typy entit. Definice omezení referenční integrity určuje následující informace:

  • Konec omezení objektu zabezpečení. (Typ entity, na jehož klíč entity odkazuje závislý konec.)

  • Klíč entity koncového objektu zabezpečení.

  • Závislý konec omezení. (Typ entity, který má vlastnost nebo vlastnosti, které odkazují na klíč entity konce objektu zabezpečení.)

  • Odkazující vlastnost nebo vlastnosti závislého konce.

Účelem omezení referenční integrity v EDM je zajistit, aby platná přidružení vždy existovala. Další informace naleznete v tématu cizí klíč vlastnost.

Příklad

Následující diagram znázorňuje koncepční model se dvěma přidruženími: WrittenBy a PublishedBy. Typ Book entity má vlastnost, PublisherIdkterá odkazuje na klíč Publisher entity typu entity při definování omezení referenční integrity pro PublishedBy přidružení.

RefConstraintModel

ADO.NET Entity Framework používá jazyk specifický pro doménu (DSL) označovaný jako jazyk CSDL (Conceptual Schema Definition Language) k definování konceptuálních modelů. Následující CSDL definuje omezení referenční integrity pro PublishedBy přidružení uvedené v konceptuálním modelu výše.

<Association Name="PublishedBy">
  <End Type="BooksModel.Book" Role="Book" Multiplicity="*" >
  </End>
  <End Type="BooksModel.Publisher" Role="Publisher" Multiplicity="1" />
  <ReferentialConstraint>
    <Principal Role="Publisher">
      <PropertyRef Name="Id" />
    </Principal>
    <Dependent Role="Book">
      <PropertyRef Name="PublisherId" />
    </Dependent>
  </ReferentialConstraint>
</Association>

Viz také