Home > Lernmodule > Modul 10

 

6a Datenintegrität


Die Daten im Datenbanksystem sollten korrekt sein, d.h. einem gültigen (idealerweise dem aktuellen) Zustand des modellierten Ausschnittes der realen Welt entsprechen. Korrekte Systemzustände werden durch sogenannte Integritätsbedingungen beschrieben. Ihre Einhaltung wird durch das DBMS überwacht. In gegenwärtigen kommerziellen DBMS sind Integritätsbedingungen in der Regel an Tabellen oder deren Spalten gebunden. Einfache Beispiele hierfür sind die Definition des Wertebereiches einer Spalte, Angaben über die Zulässigkeit von Nullwerten, oder die Spezifikation von Schlüsseln.
Auch die Querverweise zwischen unterschiedlichen Tabellen können mit Hilfe von Integritätsbedingungen überwacht werden (referentielle Integrität). So kann sichergestellt werden, dass zu jedem Verweis (Fremdschlüssel) auch ein gültiger Datensatz in der referenzierten Tabelle existiert.

Dabei kann das System flexibel auf Änderungen an den referenzierten Datensätzen reagieren: Eine Strategie ist, dass das Löschen eines Datensatzes nur dann vom System erlaubt wird, wenn kein anderer Datensatz mehr den zu löschenden Datensatz referenziert. Bei den sogenannten „kaskadierenden Änderungen“ werden geeignete Folgeänderungen auf die referenzierenden Tabellen angewendet, so dass die referentielle Integrität gewahrt bleibt.
Die „Check“-Klausel erlaubt es, weitere (und komplexere) Bedingung auf Attribut- oder Tabellenebene festzulegen. Diese können sich durchaus auch auf mehrere Datensätze bzw. auf Datensätze in mehreren Tabellen beziehen. Ausblickartig gehen wir abschließend auf eine Verallgemeinerung dieses Konzepts ein: „Assertions“ beschreiben Integritätsbedingungen, die nicht mehr an einzelne Tabellen gebunden sind.