Datenbank-Integrität: Regeln für Schlüssel-Operationen

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 2,72 KB

Update-Regeln für Primärschlüsselfelder

Beim Update müssen folgende Punkte berücksichtigt werden:

  • Primärschlüsselfelder können nicht so geändert werden, dass durch die neuen Primärschlüsselwerte redundante Datensätze entstehen.
  • Die Änderung der Primärschlüsselfelder darf nicht dazu führen, dass NULL-Werte in diesen Bereichen auftreten.
  • Damit Änderungen an einem Feld akzeptiert werden, müssen referenzielle Integritätsbedingungen sowie Nutzer-Constraints erfüllt sein.
  • Wenn der Wert eines Primärschlüsselfeldes geändert wird, werden die Werte der Felder, die als Fremdschlüssel darauf verweisen, ebenfalls ersetzt. Dies muss geschehen, bevor die Änderung des Primärschlüssels wirksam wird. Dies wird als Cascading Update (CASCADE) bezeichnet.

Regeln für das Einfügen von Datensätzen

Beim Einfügen (Inserts) sollte Folgendes berücksichtigt werden:

  • Es können keine Datensätze hinzugefügt werden, wenn eines der Primärschlüsselfelder einen NULL-Wert aufweist.
  • Es können keine Datensätze hinzugefügt werden, wenn die Kombination der Werte der Primärschlüsselfelder einen redundanten Primärschlüssel erzeugt.
  • Um einen Wert hinzuzufügen, der Teil eines Fremdschlüssels ist, muss dieser Wert bereits in der Primärschlüssel-Beziehung des Fremdschlüssels existieren.
  • Damit Änderungen in einem Bereich akzeptiert werden, müssen referenzielle Integritätsbedingungen und Nutzer-Constraints erfüllt sein.

Regeln für das Löschen von Datensätzen

Beim Löschen muss Folgendes berücksichtigt werden:

  • Die Konsistenz der Daten in der Tabelle kann verloren gehen, wenn ein Datensatz gelöscht wird, der über seinen Primärschlüssel mit anderen Datensätzen in anderen Tabellen verknüpft ist.
  • Zur Behebung dieses Problems gibt es zwei Lösungen:
    • Kaskadierendes Löschen (CASCADE): Hierbei werden alle Datensätze aus den Tabellen gelöscht, in denen der Primärschlüssel des zu löschenden Datensatzes als Fremdschlüssel vorkommt.
    • Zuerst müssen die Datensätze gelöscht werden, die mit dem Primärschlüssel verbunden sind; erst danach kann der gewünschte Eintrag gelöscht werden.

Optionen: SET NULL und SET DEFAULT

  • Es gibt die Möglichkeit, beim Löschen und Aktualisieren Werte auf NULL zu setzen (SET NULL) oder auf einen Standardwert festzulegen (SET DEFAULT).
  • In beiden Fällen kann der Schlüssel in der Referenztabelle auf NULL oder einen Standardwert gesetzt werden, wenn eine Löschung oder Änderung in der übergeordneten Tabelle (Parent-Tabelle) erfolgt.

Verwandte Einträge: