Datenintegrität
Die Datenintegrität/Integrität kann durch sogenannte Constraints geregelt werden. Diese Regeln bestimmen im DBMS wie die Daten verändert werden dürfen.Der wichtigste Vertreter bei relationalen Datenbanken ist der Fremdschlüssel, auch Foreign Key Constraint genannt. Dieser Constraint verhindert zum Beispiel, dass Daten gelöscht werden können, die noch in anderen Tabellen referenziert sind.
Durch eine saubere Datenintegrität wird auch immer eine saubere Datenbankkonsistenz gewährleistet.
Beispiele zu einer Löschoperationen
Stellen Sie sich vor, dass Sie einen Kunden haben, der mehrere Aufträge bei Ihnen in Ihrer Datenbank besitzt. Nun wollen Sie den Kunden löschen inklusive allen seinen Aufträgen.
Es gibt drei Arten wie man nun diese Löschoperation durchführen kann.
RESTRICT
Wird als Löschoperation RESTRICT ausgewählt, wird beim Löschen des Kunden eine Fehlermeldung (Exception) ausgegeben. Die Ursache liegt darin, dass bei RESTRICT kein Tabelleneintrag gelöscht werden kann, der noch in anderen Tabellen als Wert hinterlegt ist.
CASCADE
Wird als Löschoperation CASCADE ausgewählt, wird das Löschen erfolgreich verlaufen, da der Kunde mit allen seinen Aufträgen gelöscht wird. Die Ursache liegt darin, dass bei CASCADE der Tabelleneintrag gelöscht wird und die Einträge in anderen Tabellen, die mit diesem Kunden in Zusammenhang stehen, auch gelöscht werden.
SET NULL
Wird als Löschoperation SET NULL ausgewählt, wird das Löschen erfolgreich verlaufen, da der Kunde mit allen seinen Aufträgen gelöscht wird. Die Ursache liegt darin, dass bei SET NULL der Tabelleneintrag gelöscht wird und die Einträge in anderen Tabellen, die mit diesem Kunden in Zusammenhang stehen, auf NULL gesetzt werden. Das hat zur Folge, dass zwar der Kunden gelöscht wird, aber die Aufträge noch vorhanden sind.