In relationalen Datenbanken heißt Konsistenz, dass die Integrität der Daten sichergestellt ist.
Die Daten sind dann konsistent, wenn die 4 Integritätsbedingungen erfüllt sind:
Entitätsintegrität: Der Primärschlüssel jedes Datensatzes muss eindeutig sein. Er darf nicht Null sein.
Referentielle Integrität: Der Wert des Fremdschlüssel muss Null sein oder ein Datensatz mit identischem Primärschlüssel ist zugeordnet.
Bereichsintegrität: Der Wert der Attribute muss in einem definierten Wertebereich liegen. (z.B. Personendatensatz - Attribut Geschlecht: M oder W, ansonsten ist die Integrität verletzt)
Logische Konsistenz: Es können weitere Integritätsprüfungen bestimmt werden. (z.B. Kunde bestellt insgesamt 10 Artikel, da kann die Anzahl der Artikel aus Warengruppe A nicht 11 sein) Diese Bedingungen muss der Benutzer selber sicherstellen, die Integretätsprüfungen der Datenbank erkennen solche Fehler nicht.
Wenn auch nur eine Integrität nicht erfüllt wird, ist die DB inkonsistent.
Bei verteilten Systemen (Redundanz über mehrere Standorte, Systeme in der Cloud, Hot Spare) müssen alle Repliken identisch sein, sonst sind auch die Integritätsbedingungen nicht alle erfüllt und somit ist der Daten Cluster nicht konsistent.
Auch interessant ist die Frage, wie in der Datenbank die Konsistenz z.B. bei Stromverlust oder Absturz des Computersystems sichergestellt wird. Stichwort hierbei ist das Thema Transaktionssicherheit... Hierzu gibt es dann noch ein Physical- und ein Logical Log und einen Roll Back Mechanismus. Das bedeutet, dass jede Änderung an der Datenbank transparent ist und im Zweifelsfall eine Datenbank bis zum letzten Checkpoint zurückgerollt werden kann. Dann sind zwar möglicherweise seit dem letzten Checkpoint Daten verloren, aber die Datenbank ist nach dem Neustart wieder konsistent.