GITTA-Logo
PDF Version of this document Search Help Glossary

Lesson Navigation IconRelationales Datenmodell

Unit Navigation IconKonzepte

Unit Navigation IconAbbildung ER-Schema

Unit Navigation IconDatenintegrität

LO Navigation IconSchlüsselintegrität

LO Navigation IconGegenstandsintegrität

LO Navigation IconReferentielle Integrität

LO Navigation IconIntegritätsgefährdung

Unit Navigation IconNormalisierung

Unit Navigation IconZusammenfassung

Unit Navigation IconLiteraturempfehlungen

Unit Navigation IconGlossar

Unit Navigation IconBibliographie

Unit Navigation IconMetadaten


GITTA/CartouCHe news:


Go to previous page Go to next page

Referenzielle Integritätsbedingung

Im Gegensatz zum GBM gibt es im relationalen Modell kein Konstrukt, mit dem Beziehungen zwischen Tupeln explizit modelliert werden können. Beziehungen werden hier implizit mit Hilfe des Primär-Fremdschlüssel-Konzepts dargestellt.

Fremdschlüssel:
Ein Attribut in einem Relationenschema R1 ist ein Fremdschlüssel wenn es in Beziehung zu einem Primärschlüsselattribut aus R2 steht und es gilt:
  • Die Domäne des Fremdschlüssels aus R1 ist identisch mit der Domäne des Primärschlüssels aus R2.
  • Die Menge der Fremdschlüssel-Attributwerte von R1 muss eine Teilmenge der vorhandenen Primärschlüssel-Attributwerte von R2 sein.
Fremdschlüssel werden meist gestrichelt unterstrichen dargestellt.

Eine Beziehung zwischen zwei Relationen wird nun so hergestellt, dass die Domänen des Primärschlüssels der einen Relation in die zweite Relation als Fremdschlüsseldomänen (mit entsprechenden Attributen) aufgenommen werden.

Referenzielle Integritätsbedingungen verlangen, dass aktuelle Fremdschlüsselwerte sich immer nur auf Primärschlüsselwerte von existierenden Tupeln beziehen.

Formal ausgedrückt heisst dies:

Gegeben sind:

  • Ein Tupel t1 einer Relation R1 mit dem Schema R1=(A1, ..., Am, ...), wobei Ai die Primärschlüssel-Attribute sind.
  • Ein Tupel t2 einer Relation R2 mit dem Schema R2=(B1, B2, ..., Bn, ..., A1, ..., Am, ...), wobei Ai die Fremdschlüssel-Attribute sind.

Das Tupel t2 ist genau dann referenziell integer, wenn ein Tupel t1 existiert mit der Eigenschaft t1.Ai=t2.Ai (i=1, ..., m) oder wenn t2.Ai =NULL (i=1, ..., m) gilt.

Bildlich betrachtet, muss jedes Tupel der Fremdschlüssel-Relation ein Tupel der Primärschlüssel-Relation referenzieren (oder auf NULL gesetzt sein). Daher spricht man im Zusammenhang mit referenzieller Integrität auch davon, dass keine „hängenden Referenzen“ existieren dürfen (also Verweise auf etwas, das nicht existiert).

Das Relationenschema mit dem Fremdschlüssel wird als referenzierendes, das mit dem entsprechenden Primärschlüssel als referenziertes Relationenschema bezeichnet. Ein Fremdschlüssel kann dabei auch das eigene Relationenschema referenzieren. Die meisten der heutigen relationalen Datenbanksysteme unterstützen die automatische Einhaltung der referenziellen Integrität.

Beispiel zur Referenziellen IntegritätBeispiel zur Referenziellen Integrität

Die Tabelle „Abteilung“ hat die Abteilungsnummer als Primärschlüssel. Dieser wird in der Tabelle Mitarbeiter als Fremdschlüssel verwendet, um die Abteilungszugehörigkeit eines Mitarbeiters zu fixieren. Die Fremd-Primärschlüssel-Beziehung erfüllt die Regel der referenziellen Integrität, falls alle Abteilungsnummern des Fremdschlüssels aus der Tabelle „Mitarbeiter“ in der Tabelle „Abteilung“ als Primärschlüsselwerte aufgeführt sind. In unserem Beispiel ist also die Regel der referentiellen Integrität nicht verletzt.

Nehmen wir an, wir möchten in die Tabelle „Mitarbeiter“, ein neues Tupel „Id: 4, Weber, A5“ einfügen. Unsere Einfügeoperation wird abgewiesen, wenn das Datenbanksystem die referenzielle Integrität unterstützt. Der Wert A5 wird nämlich als ungültig erklärt, da er in der referenzierten Tabelle „Abteilung“ nicht vorkommt.

Top Go to previous page Go to next page