Alle Kategorien
Suche

Referentielle Integrität - was man darunter versteht

Datenbanken speichern mehr Daten als Bücher.
Datenbanken speichern mehr Daten als Bücher. © Paul-Georg_Meister / Pixelio
Die referentielle Integrität ist ein wichtiger Grundstein jeder relationellen Datenbank. Ohne sie wären Bezüge nicht eindeutig geklärt und Datensätze würden einfach so verschwinden. Aus diesem Grund ist es wichtig, den Hintergrund der referentiellen Integrität zu verstehen.

Grundlage für Beziehungen in Datenbanken

  • Datenbanken können entweder hierarchisch oder relational aufgebaut sein. Der relationale Aufbau ist jedoch aufgrund fehlender Verknüpfungen zwischen den Tabellen veraltet und wird deswegen kaum noch eingesetzt.
  • Dieses Problem haben relationale Datenbanken nicht. Einzelne Tabellen sind über Relationen (Beziehungen) miteinander verknüpft und können so auf mehrere Tabellen gleichzeitig zugreifen, wenn die Tabellen entsprechend angepasst werden.
  • Verknüpfungen zwischen zwei relationellen Tabellen werden mit dem Primärschlüssel (Prime Key) und dem Fremdschlüssel (Foreign Key) bewerkstelligt. Der Primärschlüssel ist das Alleinstellungsmerkmal einer Tabelle, mit dem die Tabelle eindeutig identifiziert werden kann. Mit Hilfe des Fremdschlüssels kann dann aus einer anderen Tabelle auf den vorher definierten Primärschlüssel verwiesen werden. Dies kann ohne referentielle Integrität nicht eindeutig geschehen.
  • Bekannte relationelle Datenbanken sind beispielsweise Microsoft Access und MySQL. 

Referentielle Integrität verstehen

  • Die referentielle Integrität gibt in relationalen Datenbanken die Richtigkeit und Eindeutigkeit einer Beziehung zwischen Primärschlüssel und Fremdschlüssel an.
  • Beispiel für eine fehlerhafte Integrität wäre es, wenn Tabelle A mithilfe eines Fremdschlüssels auf den Datensatz 10 der Tabelle B verweisen würde, es dort jedoch zwei Datensätze mit der Nummer 10 gäbe. Dadurch ist keine Eindeutigkeit der Beziehung mehr vorhanden und es kommt zum Fehler.
  • Umgekehrt heißt es jedoch auch, dass sich Tabelle A auf keinen Datensatz beziehen kann, der in Tabelle B nicht existiert. Möchten Sie sich in Tabelle A beispielsweise auf den Datensatz 11 beziehen, obwohl dieser nicht existiert, schlägt die referentielle Integrität ebenfalls fehl. Die Lösung ist es, erst in Tabelle B den Datensatz 11 hinzuzufügen und anschließend in A den Verweis auf Datensatz 11 zu erstellen.
  • Es wird somit eine Dateninkonsistenz vermieden. Dies beschreibt den Zustand, dass Tabellen auf Werte verweisen, die überhaupt nicht vorhanden sind.
Teilen: