09 - Normalisierung (nach Codd)

Bei der Arbeit mit der schlecht strukturierten Datenbank traten sogenannte Anomalien auf:


Einfügeanomalie: Die Kontaktdaten eines Interessenten können nicht aufgenommen werden, ohne dass eine Bestellung (Auftrag) von ihm erfolgt. Löschanomalie: Wird eine Bestellung (z.B. die Erstbestellung eines Neukunden) storniert und infolgedessen aus der Tabelle gelöscht, sind auch die Kontaktdaten dieses Kunden verloren.

Änderungsanomalie: Laufen zwei Bestellungen eines Kunden unter verschiedenen Auftragsnummern (oder besteht ein Auftrag aus mehreren Teillieferungen), und die Adresse des Kunden ändert sich, so besteht die Gefahr, dass die Adresse nur in einem Datensatz geändert wird, im anderen jedoch nicht! Dies kann dazu führen, dass eine Lieferung verloren ginge.

Wenn sich Datensätze innerhalb einer Datenbank widersprechen, Schlüssel auf nicht mehr existierende Datensätze verweisen o.Ä., spricht man von Inkonsistenzen in der Datenbank. Die Ursache für Inkonsistenzen ist oft, dass Daten mehrfach (redundant) gespeichert sind. In diesen Fällen könnte man Informationseinheiten (Daten) ohne Verlust von Informationen weglassen.


Ein Verfahren, um schon beim Design einer relationalen Datenbank das Auftreten von Redundanzen und Anomalien zu vermeiden, ist der Prozess der Normalisierung. Dabei wird die Struktur der Datenbank (d.h die Anzahl und der Aufbau der Tabellen) in drei Schritten verändert. Wichtig ist, dass dabei keine Informationen verloren gehen!

Aufgabe:

Jetzt kannst Du an einem Beispiel diese Schritte kennenlernen:

  1. Öffne dazu die Tabelle printasticAuftrag.xlsx (im Netzwerk: LehrerPub\Alkan\…\db) und bearbeite daran die Aufgaben auf der nächsten Seite.
  2. Zur Hilfe kannst Du einen der folgenden Links nutzen, unter denen Du die Normalisierung parallel an anderen Tabellen nachvollziehen kannst:
start/info/db/09_norm.txt · Zuletzt geändert: 10.06.2015 09:56 von epunkta
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0