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.