Datenkonsistenz: Unterschied zwischen den Versionen

Aus FLBK-Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 14: Zeile 14:
Die '''Entitätsintegrität''' verlangt, dass jeder [[Datensatz]] (Tupel) in einer Tabelle eindeutig identifizierbar ist und es keine vollständigen Duplikate geben darf. Diese Eindeutigkeit wird technisch durch einen [[Primärschlüssel]] realisiert, der jeden Datensatz einmalig kennzeichnet.
Die '''Entitätsintegrität''' verlangt, dass jeder [[Datensatz]] (Tupel) in einer Tabelle eindeutig identifizierbar ist und es keine vollständigen Duplikate geben darf. Diese Eindeutigkeit wird technisch durch einen [[Primärschlüssel]] realisiert, der jeden Datensatz einmalig kennzeichnet.


=== Referentielle Integrität ===
=== Referenzielle Integrität ===
Die '''referentielle Integrität''' betrifft die Beziehungen zwischen Tabellen. Sie stellt sicher, dass ein [[Fremdschlüssel]] in einer Tabelle entweder den Wert NULL enthält oder auf einen existierenden [[Primärschlüssel]] in der referenzierten Tabelle verweist. So wird verhindert, dass auf nicht existierende Datensätze verwiesen wird.
Die '''referenzielle Integrität''' betrifft die Beziehungen zwischen Tabellen. Sie stellt sicher, dass ein [[Fremdschlüssel]] in einer Tabelle entweder den Wert NULL enthält oder auf einen existierenden [[Primärschlüssel]] in der referenzierten Tabelle verweist. So wird verhindert, dass auf nicht existierende Datensätze verwiesen wird.


=== Logische Konsistenz ===
=== Logische Konsistenz ===

Version vom 26. November 2025, 10:23 Uhr

Datenkonsistenz bezeichnet die Integrität bzw. Zuverlässigkeit von Daten, insbesondere im Zusammenhang mit Datenbanken. Ein Datenbankzustand wird nur dann als konsistent betrachtet, wenn alle definierten Integritätsbedingungen (engl. Constraints) erfüllt sind. Werden eine oder mehrere dieser Bedingungen verletzt, gilt der Zustand als inkonsistent. Die Regeln, die festlegen, was einen Widerspruch darstellt, werden innerhalb des Datenbankschemas definiert.

Integritätsbedingungen

Man unterscheidet verschiedene Arten von Integritätsbedingungen:

Datentypintegrität

Die Datentypintegrität (auch Domänenintegrität) stellt sicher, dass in einer Spalte einer Tabelle nur Daten eines vorher definierten Datentyps gespeichert werden können. So kann beispielsweise in eine Spalte vom Typ INTEGER kein Text eingetragen werden.

Bereichsintegrität

Die Bereichsintegrität ist eine Erweiterung der Datentypintegrität und legt fest, dass der Wert eines Attributes innerhalb eines bestimmten Wertebereichs liegen muss. Ein Beispiel wäre die Bedingung, dass ein Wert für "Alter" größer als 0 sein muss.

Entitätsintegrität

Die Entitätsintegrität verlangt, dass jeder Datensatz (Tupel) in einer Tabelle eindeutig identifizierbar ist und es keine vollständigen Duplikate geben darf. Diese Eindeutigkeit wird technisch durch einen Primärschlüssel realisiert, der jeden Datensatz einmalig kennzeichnet.

Referenzielle Integrität

Die referenzielle Integrität betrifft die Beziehungen zwischen Tabellen. Sie stellt sicher, dass ein Fremdschlüssel in einer Tabelle entweder den Wert NULL enthält oder auf einen existierenden Primärschlüssel in der referenzierten Tabelle verweist. So wird verhindert, dass auf nicht existierende Datensätze verwiesen wird.

Logische Konsistenz

Unter logischer Konsistenz versteht man benutzerdefinierte, fachliche Integritätsbedingungen, die über die technischen Constraints hinausgehen. Ein Beispiel aus einer Stammbaumdatenbank wäre die Regel, dass Kinder nach ihren Eltern geboren worden sein müssen. Da Datenbankmanagementsysteme (DBMS) solche komplexen logischen Bedingungen oft nicht automatisch überprüfen können, müssen sie durch die Anwendungslogik oder eine zusätzliche Software-Schicht sichergestellt werden.