Änderungsanomalie (Informatik)?

2 Antworten

Über die Änderungsanomalie spricht man, wenn Daten in einer Datenbank geändert werden. (Oder auch Update-Anomalie)

Die Attribute eines Datensatzes werden nicht automatisch geändert. Dadurch ensteht eine Inkonsistenz der Daten in der Datenbank.

Man Muss also per Hand alle Einträge selbstständig aktualisieren. Dabei sollte man Vorichtig sein, denn bei einem Fehler führt dies erneut zu einer Inkonsistenz.


MrKnife 
Fragesteller
 04.04.2017, 15:08

wie würdest du meine definition bewerten? geht das in die richtige Richtung?

0

In einer Datenbank kann es nur dann zu sog. Änderungsanomalien kommen, wenn das Datenschema nicht hinreichend normalisiert ist, d.h. wenn es dort Datenobjekte geben kann, welche mindestens ein Attribut haben, dessen Wert in mehr als nur einer Tabelle stehen muss und zwar so, dass das Datenbank-Management-System nicht verhindern kann, dass Anwendungen jenen Wert nur an einer oder einigen dieser Stellen aktualisieren, an anderen aber unverändert stehen lassen. Passiert so was, sind die Daten widersprüchlich geworden.


MrKnife 
Fragesteller
 04.04.2017, 16:04

wie sieht es mit meiner definition aus? ist die komplett falsch?

0
grtgrt  04.04.2017, 16:08
@MrKnife

Naja: So ganz richtig ist deine Definition nicht. Man hat den Eindruck, du verstehst die Sache nur halb.

0
grtgrt  04.04.2017, 17:32

Hier eine etwas umfassendere Definition des Begriffs:

Anwendungen arbeiten auf Datenbanken unter Transaktionsschutz. Das bedeutet:

Will die Anwendung mehrere Objekte aktualisieren, deren Wert aufeinander abgestimmt sein muss (so dass sie zusammenpassen), so beginnt sie eine Schreibtransaktion und sorgt dafür, dass diese Objekte auch noch unmittelbar vor dem COMMIT zusammenpassen.

Praktisch passiert das so, dass der Code der Anwendung unmittelbar vor dem COMMIT prüft, ob die während der Transaktion aktualisierten Objekte auch wirklich noch zu allen Objekten passen, auf die sie abgestimmt sein sollen. Sind sie es nicht mehr, wird statt des COMMIT-Befehls ein ROLLBACK-Befehl gegeben und eine Fehlermeldung abgesetzt.

Sollte der Programmierer diese Prüfung vor dem COMMIT vergessen oder nicht ausführlich genug gestaltet haben, kann es vorkommen, dass nach dem COMMIT Objekte, die hinsichtlich ihrer Eigenschaften aufeinander abestimmt sein sollen, eben nicht mehr zusammenpassen. Es ist dann das eingetreten, was man eine Änderungsanomalie nennt.

Gelingt es, das "Zusammenpassen" von Objekten schon über das Datenschema zu garantieren, übernimmt das Datenbank-Management-System selbst die vor dem COMMIT notwendige Prüfung.

0