|
Wir unterscheiden und erläutern drei Arten von Operationen, die die Integrität im besprochenen Sinne gefährden können:
Bei all diesen Operationen sind alle Arten von Integritätsbedingungen zu beachten und einzuhalten. Anfragen, also das Wiederfinden von Daten in einer Datenbank, stellen als reine Leseoperationen natürlich keine integritätsgefährdende Operation dar.
Bei dieser Operation sind alle drei Integritätsbedingungen betroffen. Folgende Verletzungen von Integritätsbedingungen sind möglich:
Integritätsverletzende Operationen müssen vom Datenbanksystem entweder zurückgewiesen oder nach einem vereinbarten Protokoll in zulässige Operationen umgewandelt werden.
In diesem Fall kann nur die referenzielle Integrität verletzt werden. Referenzierende Tupel können durch das Löschen des referenzierten Tupels betroffen sein, indem ihr Fremdschlüsselwert ungültig wird. Geeignete Gegenmassnahmen bestehen entweder im Zurückweisen der Löschoperation, im kaskadierenden Löschen (das referenzierende Tupel wird automatisch mitgelöscht) oder im Setzen der Fremdschlüsselattribute auf NULL.
Durch das Löschen des Tupels mit der „Abt_Nr“ „A1“ in der Relation Abteilung würde in der Relation Mitarbeiter im Tupel mit der ID „1“ die Abteilungsnummer ungültig werden.
Diese Operation betrifft wiederum alle drei Arten von Integritätsbedingungen. Da eine Änderung auch als Kombination aus dem Löschen des alten Tupels und dem Einfügen des geänderten Tupels aufgefasst werden kann, treten hier die gleichen Probleme wie beim Einfügen- und Löschen von Tupeln auf. Werteänderungen sind nur bei Primär- und Fremdschlüsseln kritisch. Alle anderen Attribute können problemlos geändert werden.
Durch das Ändern des Wertes „Abt_Nr“ in der Relation Abteilung von „A1“ zu „A4“ würde in der Relation Mitarbeiter im Tupel mit der ID „1“ die Abteilungsnummer ungültig werden.