was ist datenkonsistenz, bitte eine Kurze definition, nur soweit dass ich mir was drunter vorstellen kann (bin in der Informatiklehre und muss das definieren)?
Bzw Datenkonsistenzprüfung.
5 Antworten
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.
Datensätze müssen eindeutig identifizierbar sein. Beispielsweise dürfen nicht zwei Datensätze Vorname: Max, Nachname: Mustermann ohne weitere Informationen existieren, die diese Sätze voneinander unterscheiden.
Datensätze dürfen nicht in der Luft stehen, wenn sie von anderen Sätzen abhängig sind. Ist ein Datensatz von einem anderen abhängig, muss der "Master"-Satz vorhanden sein.
Beispiel: Adresse: Max;Mustermann;11111
In der Postleitzahlentabelle muss es eine Postleitzahl 11111 geben.
Datenkonsistenz heißt, dass zusammengehörige Datenbestände den gleichen Aktualisierungsstand aufweisen. Dass z.B. der Datensatz A und der dazu gehörige Datensatz B den Datenstand zum gleichen Zeitpunkt wiederspiegeln, und nicht der eine Datensatz von heute und der andere von gestern ist.
Das ist so etwas wie "Gültigkeit" oder "Richtigkeit". Das hat mit der "Sauberkeit der Daten einer DB zu tun.
Richtigkeit der Daten in Datenbanken.