Anomalie: Unterschied zwischen den Versionen

Aus SibiWiki
Zur Navigation springen Zur Suche springen
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Datenbanken]]
[[Kategorie:Datenbanken]]
[[Kategorie:Informatik]]
[[Kategorie:Informatik]]
[[Kategorie:Informatik-Abitur]]
[[Kategorie:Informatik-Q1]]
 
Anomalien führen dazu, dass Datenbanktabellen ein unerwünschtes Verhalten zeigen.
Häufig kann es durch '''Redundanz''' (=eine Information ist in der Datenbank mehrfach vorhanden) zu Anomalien kommen.
 
=Fachbegriffe=
 
Redundanz, Inkonsistenz, Einfügeanomalie, Löschanomalie, Änderungsanomlie


= Beispiel =
= Beispiel =
Die Anomalien werden anhand folgender Beispieltabelle aus dem Schulbereich erklärt.  
Die Anomalien werden anhand folgender Beispieltabelle aus dem Schulbereich erklärt.  


Zeile 42: Zeile 50:
|}
|}


Wie man sieht, sind die Informationen über Name und Vorname hier '''redundant'''.


= Einfüge-Anomalie =
= Einfüge-Anomalie =
Zeile 69: Zeile 78:
'''Beispiel:'''
'''Beispiel:'''


Wenn der Schüler Max Steinmann die Schule verlässt und deswegen aus der Tabelle gelöscht wird, ist auch der Kurs D-LK verschwunden!  
Wenn der Schüler Max Stein die Schule verlässt und deswegen aus der Tabelle gelöscht wird, ist auch der Kurs D-LK verschwunden!
 


=Vermeidung von Anomalien=
=Vermeidung von Anomalien=
Um Anomalien zu vermeiden, werden Datenbanken [[Normalisierung|normalisiert]].
Um Anomalien zu vermeiden, werden Datenbanken [[Normalisierung|normalisiert]].

Aktuelle Version vom 29. März 2020, 14:41 Uhr


Anomalien führen dazu, dass Datenbanktabellen ein unerwünschtes Verhalten zeigen. Häufig kann es durch Redundanz (=eine Information ist in der Datenbank mehrfach vorhanden) zu Anomalien kommen.

Fachbegriffe

Redundanz, Inkonsistenz, Einfügeanomalie, Löschanomalie, Änderungsanomlie

Beispiel

Die Anomalien werden anhand folgender Beispieltabelle aus dem Schulbereich erklärt.

Die (nicht normalisierte!) Tabelle Kursbelegung soll darstellen, welche Schüler welche Kurse belegt haben und welche Note sie dafür bekommen haben. Als Primärschlüssel dient die Kombination aus den Attributen schuelerid und Kurs.

Kursbelegung

schuelerid name vorname kurs note
37 Stein Max IF-LK 2
37 Stein Max D-LK 2
45 Müller Hanna IF-LK 1
45 Müller Hanna M-LK 3

Wie man sieht, sind die Informationen über Name und Vorname hier redundant.

Einfüge-Anomalie

Beim Einfügen von Daten in eine Datenbank spricht man von einer Einfüge-Anomalie, wenn eine neue Entität (=Zeile) nicht richtig in die Datenbank eingetragen werden kann, weil nicht zu allen Attributen (Spalten) Werte vorliegen. Es kann z.B. vorkommen, dass Angaben zum Zeitpunkt des Eintragens noch fehlen.


Beispiel:

In der Tabelle tritt eine Einfügeanomalie auf, wenn ein neuer Schüler eingefügt werden soll, dem aber noch kein Kurs zugewiesen wurde. Man kann ihn vorerst nicht einfügen, da der Kurs Teil des Primärschlüssels ist, aber der Kurs ist ja noch unbekannt!

Änderungs-Anomalie

Beim Ändern von Daten spricht man von einer Änderungs-Anomalie, wenn nicht alle redundanten Vorkommen eines Attributes zugleich geändert werden. Das kann zu Inkonsistenz führen.


Beispiel:

Max Stein heißt eigentlich Maximilian Stein und möchte auch auf Kurslisten so erscheinen. Durch ein technisches Versehen wird aber nur in der ersten Zeile der Name von Max auf Maximilian geändert, nicht aber in der zweiten Zeile. So hat jetzt der Schüler mit der schuelerid 37 in der Datenbank zwei verschiedene Vornamen: Max bzw. Maximilian. Die Datenbank ist damit also inkonsistent.


Lösch-Anomalie

Eine Lösch-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:

Wenn der Schüler Max Stein die Schule verlässt und deswegen aus der Tabelle gelöscht wird, ist auch der Kurs D-LK verschwunden!

Vermeidung von Anomalien

Um Anomalien zu vermeiden, werden Datenbanken normalisiert.