it-swarm.com.de

Gibt es einen Unterschied zwischen Datenintegrität und Datenkonsistenz?

Ich bin ein wenig verwirrt über data consistency und data integrity. Von Oracle Database Concepts :

data integrity
--------------
Business rules that dictate the standards for acceptable data. These rules
are applied to a database by using integrity constraints and triggers to
prevent invalid data entry.

Aus Wikipedia

Consistency
-----------
Consistency states that only valid data will be written to the database.

Was ist der Unterschied zwischen data consistency und data integrity?

Danke im Voraus.

23
Ogrish Man

Sie sind nicht nur verschieden, sie sind orthogonal.

Inkonsistenz :
Eine Datenbank, in der die Abteilung von Mitarbeiter Joe Shmoe als Vertrieb gemeldet wurde, die aber Joe Shmoe nicht unter den Mitarbeitern in der Vertriebsabteilung aufgeführt hat, wäre inkonsistent.
Es ist eine logische Eigenschaft des DBs, unabhängig von den tatsächlichen Daten .

Integrität :
Eine DB, die angab, dass jEe SaleS Mitglied der Shmoe-Abteilung sei, würde an Integrität mangeln.
jEe SaleS ist kein gültiger Mitarbeitername und Shmoe ist keine gültige Abteilung.
Das ist logisch nicht ungültig, aber relativ zu den Regeln, die den Dateninhalt regeln, ist es ungültig .

24
Jim Balter

Sehr grob mein 2c: 

Integrität = starke Typen, keine unzulässigen Werte, wie durch das Datenmodell und Einschränkungen festgelegt, unerlaubte Schlüssel, eindeutige Einschränkungen und ähnliches. 

Konsistenz = Nur festgeschriebene Daten zu einem bestimmten Zeitpunkt lesen können, nicht die Zwischenschritte.

8
lll

Daten können völlig konsistent und völlig falsch sein. Bei der Datenintegrität geht es mehr um die Qualität der Daten als um Datenbankverwaltungssysteme. DBMS bieten Datenkonsistenz-Tools, die zur Datenintegrität beitragen können. Sie sind ein Teil des größeren Problems. Integritätsbeschränkungen und -auslöser stellen sicher, dass ein DBMS die Integrität der eingehenden Daten nicht beeinträchtigt (oder, wenn Sie ein Pessimist sind, weiter beeinträchtigt).

Die Methode Oracle zu analysieren, besteht darin, dass Integritätsbedingungen und -auslöser eine Möglichkeit sind, einen Teil der Geschäftsregeln zu implementieren, die Datenintegrität definieren.

6
Ted Hopp
2
gsk

Von hier

Datenkonsistenz

Die isolierte Ausführung einer Transaktion erhält die Konsistenz der Daten. Der in der Datenbank gespeicherte Datenwert muss bestimmte Konsistenzbedingungen erfüllen. Beispielsweise sollte der Kontostand eines Kontos nicht unter 100 US-Dollar liegen. Mit den DDL-Befehlen können Sie solche Einschränkungen festlegen. Die Datenbanksysteme prüfen diese Einschränkungen bei jeder Aktualisierung der Datenbank. Im Allgemeinen kann es sich um ein beliebiges Prädikat handeln, das sich auf die Datenbank bezieht. Um die Konsistenz der Datenbank zu überprüfen, hängen die meisten Programmierer von den Einschränkungen ab, und diese sind normalerweise kostspielig zu testen.

Datenintegrität

Die Integrität der Daten bezieht sich auf "ganze Daten an einem Ort". Die Daten liegen in Form von Tabellen vor und jede Tabelle hat einige Attribute. Dies sind die Fälle, in denen wir sicherstellen möchten, dass ein Wert, der in einer Beziehung für eine bestimmte Gruppe von Attributen angezeigt wird, auch für eine bestimmte Gruppe von Attributen in einer anderen Beziehung (referentielle Integrität) angezeigt wird. Datenbankänderungen können zu Integritätsverletzungen führen. Wenn die Integritätsbedingung verletzt wird, lehnt das normale Verfahren die Aktion ab, die den Verstoß tatsächlich verursacht hat.

enter image description here

Sie können erstes Kapitel für ACID lesen.

1
berkay
  1. Konsistenz: Sie haben keine Datumsangaben, Zahlen und Buchstaben in derselben Spalte, aber nur eines davon. Dies wird durch Definieren des Spaltentyps abgebrochen, z. Spalten-ID-Nummer (5) bedeutet, dass es weder Datumsangaben noch Buchstaben und Zahlen über 99999 gibt
  2. Integrität: Wenn Sie in beiden eine Tabelle mit Mitarbeitern und eine Tabelle mit Abteilungen und eine Abteilung_ID (mit der Bedeutung von Abteilung_id, in der der Mitarbeiter arbeitet) haben, gibt es in der Abteilung keinen Mitarbeiter, der in der Abteilungstabelle nicht vorhanden ist. Dies wird durch referenzale Integritätsbedingung verhindert.
1