Seien
und
zwei Relationen mit den Schemata
und
Sei
Primärschlüssel von
Dann ist
ein Fremdschlüssel,
wenn für alle
Tupel
gilt:
- s.
enthält entweder nur Nullwerte oder nur Werte ungleich Null
- Enthält
keine Nullwerte, existiert ein Tupel
mit
=
Die Erfüllung dieser Eigenschaft heißt referentielle Integrität. Die
Attribute von Primär- und Fremdschlüssel haben jeweils dieselbe Bedeutung und
oft auch dieselbe Bezeichnung (falls möglich).
Ohne Überprüfung der referentiellen Integrität
kann man leicht einen inkonsistenten Zustand der Datenbasis erzeugen,
indem z. B. eine Vorlesung mit nichtexistentem Dozenten eingefügt wird.
Zur Gewährleistung der
referentiellen Integrität muß also beim Einfügen, Löschen und Ändern immer
sichergestellt sein, daß gilt
Erlaubte Änderungen sind daher:
- Einfügen eines Tupels in
verlangt, daß der Fremdschlüssel auf
ein existierendes Tupel in
verweist.
- Ändern eines Tupels in
verlangt, daß der neue Fremdschlüssel
auf ein existierendes Tupel in
verweist.
- Ändern eines Primärschlüssels in
verlangt, daß kein Tupel
aus
auf ihn verwiesen hat.
- Löschen eines Tupels in
verlangt, daß kein Tupel aus
auf ihn
verwiesen hat.