Integritätsbedingungen
Die Integritätsbedingungen sollen dafür sorgen, dass keine unkorrekten Daten in die Datenbank gelangen, z. B. durch Tippfehler, logische Ungereimtheiten und Fehlern bei der Software. In der Praxis wird häufig eine Datenbank als unbrauchbar angesehen, wenn diese mehr als 5 % korrupte Daten enthält.
Es gibt in der Literatur sehr unterschiedliche Definitionen für die Integritätsbedingungen. Hier wird auf die Sichtweise von Hughes J. G. aus dem Buch: Objektorientierte Datenbanken, München 1992 zurückgegriffen.
Nach Hughes können Integritätsregeln in drei Kategorien einordnet werden:
1. Regeln für die Wertebereichsintegrität (Beispiel)
Für jedes Attribut ist der zulässige Wertebereich festzulegen. Dieses Konzept entspricht der Typprüfung bei Programmiersprachen. Neben dem genauen Datentyp sollten, wenn möglich, auch Ober- und Untergrenzen für die Werte angegeben werden.
Es muss auch festgelegt werden, ob ein Attribut einen Wert erhalten muss oder den Wert NULL enthalten darf.
Zu dieser Integritätsprüfung gehört auch die Forderung sicherzustellen, dass der Wertebereich für ein beliebiges Schlüsselelement nicht NULL ist.
Methoden die Einhaltung zu gewährleisten sind z. B. die Plausibilitätsprüfung und das Prüfziffernverfahren.
2. Regeln für die intra-relationale Integrität (Beispiel):
Im wesentlichen geht es hier um die Eindeutigkeit der Schlüssel. Dies kann z. B. durch eine automatische fortlaufende Nummerierung oder über eindeutige Indizierung erfolgen. Viele relationale Datenbanksysteme erzwingen diese Eindeutigkeit nicht automatisch.
Außerdem muß überprüft werden, ob es eine Beziehung zwischen einzelnen Attributen einer Tabelle gibt, z.B. zwischen verschiedenen Datumsangaben (Aus- und Rückgabedatum).
3. Regeln für die referentielle Integrität (Beispiel):
Die Erhaltung der referentiellen Integrität gilt vor allem der
Überprüfung von Fremdschlüsseln. So sollten z.B. in einer Bücherei keine
Benutzer gelöscht werden können, die noch ein Buch ausgeliehen haben.
Außerdem sollten nur Bücher an tatsächlich vorhandene Benutzer ausgeliehen
werden können. Verstöße gegen die referentielle Integrität können zu
Mutationsanomalien
führen.