- Anomalie (Informatik)
-
In der Informatik bezeichnen Anomalien in relationalen Datenbanken Fehlverhalten der Datenbank. Sie können durch nicht normalisierte bzw. denormalisierte Datenstrukturen entstehen und führen zu Inkonsistenzen. Man unterscheidet Einfüge-, Änderungs- und Lösch-Anomalien.
Einfüge-Anomalie
Beim Einfügen von Daten in eine Datenbank spricht man von einer Einfüge-Anomalie (Insertion-Anomalie), wenn eine neue Entität eines Entitätstyps in die Datenbank nicht oder nur schwierig eingetragen werden kann, weil nicht zu allen Schlüssel-Attributen Werte vorliegen. So können beispielsweise Informationen nicht aufgenommen werden, da andere, zu diesem Zusammenhang bzw. Zeitpunkt (noch) uninteressante Angaben fehlen.
Beispiel:
In dieser Tabelle wird für Fahrzeuge der jeweilige Fahrer angegeben. Die Attribute (Kennzeichen, Hersteller) seien Identifikationsschlüssel. Hier treten Einfügeanomalien auf, wenn mehrere Fahrer mit gleichem Nachnamen dasselbe Fahrzeug fahren, oder für mehrere Fahrzeuge noch kein Fahrer bestimmt wurde.
Das Einfügen von Datensätzen mit gleichen Schlüsseln in eine Datenbank ist schwierig oder unmöglich.Kennzeichen Hersteller Vorname Nachname K-KJ 321 VW Peter Schmidt H-CH 333 Audi Fritz Schneider B-MD 321 BMW Max Maier B-MD 321 BMW Tom Lehmann A-BC 123 Škoda ? ? A-BC 123 Škoda ? ? Änderungs-Anomalie
Beim Ändern von Daten in einer Datenbank spricht man von einer Änderungs-Anomalie (Update-Anomalie), wenn nicht alle (redundanten) Vorkommen einer Entität zugleich geändert werden. Dieses kann zu inkonsistenten Daten führen.
Beispiel:
Kennzeichen Hersteller Farbe Vorname Nachname K-KJ 321 VW Blau Peter Schmidt H-CH 333 Opel Rot Fritz Schneider B-MD 321 BMW Schwarz Max Maier B-MM 473 Peugeot Grün Max Maier Es wird in dieser Tabelle davon ausgegangen, dass die Erwähnungen von „Max Meier“ für ein und dieselbe Person gelten. Wird der Name „Maier“ in „Meier“ geändert, muss dieses an zwei Stellen geschehen. Geschieht dieses nicht, spricht man von einer Update-Anomalie. Die Tabelle enthält nun inkonsistente Daten.
Um dieses Problem zu verhindern, sollte die Tabelle in die 3. Normalform überführt werden, um die Fahrerdaten losgelöst von den Fahrzeugdaten betrachten zu können.
Beispiel in 3. Normalform:
Fahrzeug Kennzeichen Hersteller Farbe Fahrer_ID K-KJ 321 VW Blau 318 H-CH 333 Opel Rot 37 B-MD 321 BMW Schwarz 93 B-MM 473 Peugeot Grün 93 Fahrer Fahrer_ID Vorname Nachname 318 Peter Schmidt 37 Fritz Schneider 93 Max Maier Weil Fahrer_ID in der Tabelle "Fahrzeug" als Fremdschlüssel aus der Tabelle "Fahrer" eingesetzt wird, tritt die Update-Anomalie nicht mehr auf. Die Daten werden nun an zentraler Stelle und nicht mehr redundant abgelegt.
Lösch-Anomalie
Eine Lösch-Anomalie (Delete-Anomalie) entsteht, wenn durch das Löschen eines Datensatzes mehr Informationen als erwünscht verloren gehen. Sie entsteht, wenn ein Datensatz mehrere unabhängige Informationen enthält. Durch das Löschen der einen Information wird dann auch die andere gelöscht, obwohl diese noch benötigt wird.
Beispiel:
Kennzeichen Hersteller Farbe Vorname Nachname K-KJ 321 VW Blau Peter Schmidt H-CH 333 Opel Rot Fritz Schneider B-MD 321 BMW Schwarz Max Maier Hier kann das Fahrzeug B-MD 321 nicht gelöscht werden, ohne den Fahrer ebenfalls zu löschen.
Um das Problem zu vermeiden, muss die Tabelle in die 3. Normalform überführt werden.
Beispiel in 3. Normalform:
Fahrzeug Kennzeichen Hersteller Farbe Fahrer_ID K-KJ 321 VW Blau 318 H-CH 333 Opel Rot 37 B-MD 321 BMW Schwarz 93 Fahrer Fahrer_ID Vorname Nachname 318 Peter Schmidt 37 Fritz Schneider 93 Max Maier Kategorien:- Datenbankmodellierung
- Datenbanktheorie
Wikimedia Foundation.