Zum Inhalt springen

Aufgabe 04 - Normalisierung durchführen (Vereinsverwaltung)

Zu Zen-Modus wechseln

Aufgabe 04 - Normalisierung durchführen (Vereinsverwaltung)

Abschnitt betitelt „Aufgabe 04 - Normalisierung durchführen (Vereinsverwaltung)“

In dieser Übung wird eine bewusst schlecht entworfene Tabelle Schritt für Schritt normalisiert — von der 1. bis zur 3. Normalform (siehe Kapitel 2 - Funktionale Abhängigkeiten und Normalformen). Szenario ist die Mitgliederverwaltung eines Sportvereins mit Kursen und Trainern. Im Expertenteil wird gezeigt, dass die Zerlegung verlustfrei und abhängigkeitstreu ist.

  • Sie erkennen Einfüge-, Änderungs- und Löschanomalien in einer unnormalisierten Tabelle.
  • Sie überführen eine Tabelle in die 1., 2. und 3. Normalform.
  • Sie begründen jeden Zerlegungsschritt mit den verletzten Bedingungen.
  • Sie weisen nach, dass eine Zerlegung verlustfrei und abhängigkeitstreu ist.
  • Reproduktion: Anomalien benennen und die 1NF herstellen (Teil A).
  • Reorganisation und Transfer: in 2NF und 3NF zerlegen (Teile B und C).
  • Reflexion, Problemlösung und Urteilsbildung: Verlustfreiheit und Abhängigkeitstreue nachweisen (Teil D).

Die Übung ist auf etwa zwei bis drei Stunden ausgelegt. Teil D ist der Expertenteil.

Der Verein pflegt alles in einer Tabelle anmeldungen:

mitglied_nrmitglied_namekurs_idkurs_nametrainertrainer_telwochentage
101Lena BauerK1KletternM. Ofner0664 111Mo, Mi
101Lena BauerK2YogaS. Reiter0664 222Di
102Tom AchleitnerK1KletternM. Ofner0664 111Mo, Mi

Es gilt: mitglied_nr → mitglied_name, kurs_id → kurs_name, trainer, trainer → trainer_tel. Ein Mitglied kann mehrere Kurse belegen; der Schlüssel der Rohtabelle ist {mitglied_nr, kurs_id}.

  1. Nennen Sie je ein Beispiel für eine Einfüge-, eine Änderungs- und eine Löschanomalie in dieser Tabelle.
  2. Welche Spalte verletzt die 1NF? Stellen Sie die 1NF her und geben Sie die Tabelle mit atomaren Werten an.
  1. Begründen Sie mit dem Schlüssel {mitglied_nr, kurs_id}, welche Attribute nur von einem Teil des Schlüssels abhängen (partielle Abhängigkeit).
  2. Zerlegen Sie die Tabelle in 2NF. Geben Sie die entstehenden Relationen mit ihren Schlüsseln an.
  1. Finden Sie die transitive Abhängigkeit (ein Nichtschlüsselattribut hängt von einem anderen Nichtschlüsselattribut ab).
  2. Zerlegen Sie in 3NF und geben Sie das endgültige Schema mit Primär- und Fremdschlüsseln als CREATE TABLE-Anweisungen an.

Teil D - Expertenteil: Verlustfrei und abhängigkeitstreu

Abschnitt betitelt „Teil D - Expertenteil: Verlustfrei und abhängigkeitstreu“
  1. Verlustfreiheit: Zeigen Sie, dass sich die ursprünglichen Zeilen durch Zurück-Joinen der zerlegten Tabellen exakt rekonstruieren lassen — kein Datensatz geht verloren, keiner entsteht dazu. Führen Sie den Join in SQL aus und vergleichen Sie mit der Ausgangstabelle.
  2. Abhängigkeitstreue: Zeigen Sie, dass jede ursprüngliche FD in genau einer der Zieltabellen prüfbar bleibt, ohne dafür joinen zu müssen.
  3. Urteil: Erklären Sie in drei bis vier Sätzen, welche der drei Anomalien aus Teil A nach der Zerlegung nicht mehr auftreten können und warum.
  1. Was fordert die 1. Normalform?
  2. Was ist eine partielle Abhängigkeit, und gegen welche Normalform verstößt sie?
  3. Was ist eine transitive Abhängigkeit, und gegen welche Normalform verstößt sie?
  4. Was bedeutet „verlustfreie Zerlegung”?
  5. Warum kann eine höhere Normalform Anomalien verhindern, die vorher möglich waren?
  • Die Datei aufgabe04_normalisierung.sql mit den CREATE TABLE-Anweisungen des Endschemas und dem Rekonstruktions-Join aus Teil D.
  • Eine kurze schriftliche Begründung der Zerlegungsschritte (1NF → 2NF → 3NF).

HTL Villach, Schuljahr 2026-2027,
https://www.htl-villach.at