Übung 1 zur Datenbanknormalisierung
Ausgangssituation
Gegeben ist ein Auszug aus einer Beispieltabelle einer Schule, in der Informationen zu jeweils einem Schuljahr gespeichert werden. In der Tabelle sind folgende Daten enthalten:
- Schülernummer und Name
- Zugehörige Klasse
- Klassenleitung
- Besuchte Module
- Modulnamen
- Ob das Modul prüfungsrelevant ist
Link zum Bild (zum Drucken)
Download (Für das Bearbeiten mit draw.io, einfach importieren)
Problemstellung
Die Schulleitung hat festgestellt, dass es regelmäßig zu Problemen kommt, sobald ein Schüler gelöscht oder hinzugefügt wird. Teilweise werden dabei ungewollt Daten gelöscht oder es gibt Schwierigkeiten beim Einfügen.
Beim genaueren Hinsehen wird deutlich, dass die Tabelle unter starken Redundanzen leidet und nicht den Prinzipien der Datenbanknormalisierung entspricht. Mehrfachnennungen von Klassen, Lehrkräften und Modulen führen zu Dateninkonsistenzen und erschweren die Pflege und Erweiterung der Datenbasis erheblich.
Was ist zu tun
Die Tabelle sollte normalisiert werden, um die Datenstruktur zu optimieren. Ziel ist es, Redundanzen zu vermeiden, die Datenintegrität zu erhöhen und die Wartbarkeit des Systems zu verbessern.
Überführen Sie hierfür die Tabelle in die 3. Normalform. 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 Teil des Schlüssels sind
- von einem Attribut abhängen, welches Teil des Schlüssels ist ?
NF3
Gibt es Attribute, die
- nicht Teil des Schlüssels sind
- von einem Attribut abhängen, welches nicht Teil des Schlüssel ist ?
Erstellen Sie ein vollständiges Modell mit Datensätzen und Kardinalitäten, wenn die Tabellen in der 3. Normalform sind.