Anomalie

Anomalie stammt aus dem Griechischen und bedeutet „Unregelmäßigkeit“, das zugehörige Adjektiv heißt im Deutschen anormal. In der Informatik bezeichnen Anomalien Fehlverhalten in relationalen Datenbanken. Hier wird zwischen Anomalien im Einbenutzerbetrieb und Mehrbenutzerbetrieb unterschieden. Im Einbenutzerbetrieb können Anomalien durch nicht normalisierte bzw. denormalisierte Datenstrukturen entstehen und führen zu Inkonsistenzen. Man unterscheidet Einfüge-, Änderungs- und Lösch-Anomalien. Im Mehrbenutzerbetrieb einer Datenbank treten Anomalien durch parallele Datenbankzugriffe auf.

Einbenutzerbetrieb

Einfügeanomalie

Liegt ein schwaches und denormalisiertes Schema vor, kann es bei der Einfüge-Anomalie passieren, dass Daten gar nicht gespeichert/angenommen werden können, weil beispielsweise für den Primärschlüssel kein Wert eingegeben wird, oder es führt bei einer nicht vollständigen Eingabe von Daten zu Inkonsistenz.

Die nachstehenden Tabelle verfügt über einen zusammengesetzten Primärschlüssel. Die Eindeutigkeit eines Datensatzes wird durch die Attribute Reservierungsdatum, Mitarbeiter und Kunde bestimmt.

Beispiel 1

Kommt es nun zu dem Fall, dass zu einem gleichen Datum ein Kunde erneut vom selben Mitarbeiter bedient wird, kann dieser Datensatz nicht angelegt werden, weil die Primärschlüsselbedingung verletzt wird:

Beispiel 2

Der Kunde Rheinhard wird erneut bedient. Diesmal wird dieser Kunde aufgrund eines Tippfehlers irrtümlich Reinhard geschrieben. Der Datensatz wird angelegt, ist aber nun inkonsistent, da nicht klar ist, ob die beiden Einträge Reinhard und Rheinhard die gleiche Person ist:

Änderungsanomalie

Beim Ändern von Daten in einer Datenbank spricht man von einer Änderungs-Anomalie (Update-Anomalie), wenn nicht alle (redundant) vorkommenden Entitäten zugleich geändert werden. Dieses kann zu inkonsistenten Daten führen.

In der obenstehenden Tabelle wurden Reservierungsinformationen denormalisiert abgelegt. Unter der Annahme, dass Max Meier ein und dieselbe Person ist, soll die Schreibweise des Nachnamens geändert werden. Meier soll nun mit Y - also Meyer - geschrieben werden. Die Konsistenz der Daten wird nur dann nicht verletzt, wenn tatsächlich alle redundant vorkommenden Nachnamen des Kunden Max Meyer geändert werden und mit Max Meier immer die gleiche Person gemeint ist.

Löschanomalie

Unter Löschanomalie versteht man das ungewollte Löschen von Daten. Es kann also passieren, dass man durch das bewusste Löschen eines Datensatzes, unbewusst Informationen verliert, die man später wieder gebraucht hätte. Sie entsteht, wenn durch das Löschen eines Datensatzes mehr Informationen als erwünscht verloren gehen. Ursache hier ist, dass ein Datensatz mehrere abhängige Informationen enthält. Durch das Löschen der einen Information wird dann auch die andere gelöscht, obwohl diese noch benötigt wird.

In der folgenden Tabelle soll die erste Reservierung gelöscht werden. Hierdurch werden auch die Kundeninformationen gelöscht. Andererseits könnte der Kunde Peter Müller nicht gelöscht werden ohne auch die Reservierung zu löschen. Sollte die Kundin Sabine Reiter gelöscht werden, müssten zwei Datensätze gelöscht werden. Würde nur ein Datensatz gelöscht, wäre der Datenbestand Inkonsistent.

Mehrbenutzerbetrieb

Im Mehrbenutzerbetrieb einer Datenbank treten Anomalien durch unzulässigen parallelen Datenbankzugriff auf.