Freigeben über


Einschränkung der referenziellen Integrität

Eine referentielle Integritätseinschränkung im Entitätsdatenmodell (Entity Data Model, EDM) ähnelt einer Einschränkung der referenziellen Integrität in einer relationalen Datenbank. Auf die gleiche Weise wie eine Spalte (oder Spalten) aus einer Datenbanktabelle auf den Primärschlüssel einer anderen Tabelle verweisen kann, kann eine Eigenschaft (oder Eigenschaften) eines Entitätstyps auf den Entitätsschlüssel eines anderen Entitätstyps verweisen. Der Entitätstyp, auf den verwiesen wird, wird als Prinzipalende der Einschränkung bezeichnet. Der Entitätstyp, der auf das Prinzipalende verweist, wird als abhängiges Ende der Einschränkung bezeichnet.

Eine Einschränkung der referenziellen Integrität wird als Teil einer Zuordnung zwischen zwei Entitätstypen definiert. Die Definition für eine referentielle Integritätseinschränkung gibt die folgenden Informationen an:

  • Der Hauptzweck der Beschränkung. (Ein Entitätstyp, auf dessen Entitätsschlüssel vom abhängigen Ende verwiesen wird.)

  • Den Entitätsschlüssel des Prinzipalendes.

  • Das abhängige Ende der Einschränkung. (Ein Entitätstyp, der über eine Eigenschaft oder Eigenschaften verfügt, die auf den Entitätsschlüssel des Prinzipalendes verweisen.)

  • Die verweisende Eigenschaft oder Eigenschaften des abhängigen Endes.

Der Zweck referenzieller Integritätseinschränkungen im EDM besteht darin, sicherzustellen, dass gültige Zuordnungen immer vorhanden sind. Weitere Informationen finden Sie unter fremdschlüsseleigenschaft.

Beispiel

Das folgende Diagramm zeigt ein konzeptionelles Modell mit zwei Zuordnungen: WrittenBy und PublishedBy. Der Entitätstyp Book verfügt über eine Eigenschaft PublisherId, die auf den Entitätsschlüssel des Entitätstyps Publisher verweist, wenn Sie eine Einschränkung der referenziellen Integrität für die Zuordnung PublishedBy definieren.

RefConstraintModel-Beispiel

Das ADO.NET Entity Framework verwendet eine domänenspezifische Sprache (DSL), die als konzeptuelle Schemadefinitionssprache (CSDL) bezeichnet wird, um konzeptionelle Modelle zu definieren. Die folgende CSDL definiert eine referentielle Integritätsbeschränkung für die im konzeptionellen Modell oben gezeigte PublishedBy Assoziation.

<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>

Siehe auch