Die referenzielle Integrität befasst sich mit der Korrektheit zwischen Attributen von Relationen und der Erhaltung der Eindeutigkeit ihrer Schlüssel.
Die Beziehungen werden zuvor in einem Datenbanksystem festgelegt. Das Datenbanksystem wird dann diese Beziehungen zwischen den Relationen garantieren. Lösch- oder Änderungsoperationen, die die Integrität verletzen würden, werden von der Datenbank nicht ausgeführt - eine zugehörige Transaktion wird zurückgefahren. So werden Anomalien im Datenbestand verhindert, d.h. werden in einer Datenbank einzelne Tabellen mit referentieller Integrität verbunden, so kontrollieren sich die Daten gegenseitig. Beispiel: In einer Lagertabelle können nur dann neue Waren aufgenommen werden, wenn zuvor der entsprechende Lieferant mit seiner Lieferantennummer (= Primärschlüssel) erfasst wurde. Wird der Lieferant gelöscht, müssen auch die von ihm gelieferten Waren in der Lagertabelle automatisch gelöscht werden, da sonst die Datenbank inkonsistent wird.
Technisch wird die referenzielle Integrität zwischen zwei Relationen über einen so genannten Fremdschlüssel? definiert. Beide Relationen benötigen ein gemeinsames Attribut, das in der Quellrelation ein Primärschlüssel? sein muss. Die zweite Relation verweist („referenziert“) über den Fremdschlüssel auf diesen Primärschlüssel. Die Datenbank stellt sicher, dass der Primärschlüssel existiert und nur gemeinsam mit dem Fremdschlüssel geändert oder gelöscht werden kann.
Links