Datenkonsistenz
Unter Datenkonsistenz versteht man die Integrität von Daten ins Besondere im Zusammenhang mit Datenbanken. Ein Synonym für "Integrität" ist laut Duden "Zuverlässigkeit". Durch das Aufstellen von sogenannten Integritätsbedingungen (englisch Constraints) können sich andere Anwendungen darauf verlassen, dass die Daten nicht widersprüchlich sind. Was widersprüchlich ist, wird innerhalb eines Datenbankschemas definiert. Eine Datenbank ist nur konsistent, wenn sie alle Integritätsbestimmungen erfüllt. Ein Zustand, in dem mindestens eine Integritätsbedingung verletzt wird, wird als nicht konsistent bezeichnet. Man unterscheidet verschiedene Arten der Integritätsbestimmungen:
Datentypintegrität: Die Datentypen einer Spalte legen fest, dass nur Daten eines bestimmten Typs gespeichert werden können.
Bereichsintegrität: Der Wert jedes Attributes muss in einem bestimmten Wertebereich liegen (z.B. größer 0)
Entitätsintegrität: Jeder Datensatz muss eindeutig identifizierbar sein. Es darf keine Duplikate geben. Die Eindeutigkeit wird durch einen Primärschlüssel realisiert, der jedem Datensatz mitgegeben wird, um ihn zu identifizieren. Jedes Objekt muss eindeutig sein!
Referentielle Integrität: Der Wert eines Fremdschlüssel muss entweder Null sein, oder ein Objekt mit einem solchen Schlüssel muss existieren.
Logische Konsistenz: Der Benutzer kann auch zusätzliche Integritätsbestimmungen definieren (z. b. bei einer Stammbaumdatenbank: Die Kinder müssen nach den Eltern geboren worden sein). Solche Bedingungen können in der Regel vom Datenbank Management System nicht kontrolliert werden und müssen deshalb vom Benutzer selbst überwacht werden oder durch eine zusätzliche Software-Schicht kontrolliert werden.