Übung 2 zur Datenbanknormalisierung
Ausgangssituation
Gegeben ist die folgende Tabelle Bestellungen, die Daten über Kundenbestellungen in einem Online-Shop speichert:
Link zum Bild (zum Drucken)
Download (Für das Bearbeiten mit draw.io, einfach importieren)
Problemstellung
Das Unternehmen hat festgestellt, dass es bei der Bearbeitung von Rechnungsdaten wiederholt zu Problemen kommt. Beim Ändern von Kunden- oder Artikelinformationen müssen häufig mehrere Datensätze angepasst werden. Dabei entstehen oft Fehler oder Inkonsistenzen, etwa durch unterschiedliche Schreibweisen oder vergessene Änderungen.
Ein Blick auf die aktuelle Tabelle zeigt: Viele Daten sind mehrfach vorhanden, z. B. Kundendaten oder Artikelnamen. Diese Redundanzen widersprechen den Grundsätzen der Datenbanknormalisierung und erschweren eine korrekte, effiziente Datenpflege.
Was ist zu tun
Um die Datenstruktur zu verbessern, soll die Tabelle „Rechnungen“ analysiert und anschließend in die 3. Normalform überführt werden.
Ziel ist es:
-
Redundanzen zu vermeiden
-
die Datenintegrität zu sichern
-
die Pflege und Erweiterbarkeit des Systems zu verbessern
Gehen Sie dabei schrittweise vor:
NF1
- Sind alle Werte atomar, also nicht weiter aufteilbar?
- Gibt es einen eindeutigen Primärschlüssel?
NF2
- Gibt es Attribute, die nicht vom gesamten Primärschlüssel, sondern nur von einem Teil davon abhängen?
NF3
- Gibt es Attribute, die nicht vom Schlüssel direkt abhängen, sondern transitiv über andere Nicht-Schlüsselattribute?
Erstellen Sie ein vollständiges Modell mit Datensätzen und Kardinalitäten, wenn die Tabellen in der 3. Normalform sind.