Ziel: Überführe die Buchungstabelle der Geisterjäger-Agentur in die 3. Normalform.
BuchungNr | TourDatum | TourName | Ort | GuideID | GuideName | GuideSpezialgebiet | Teilnehmer (Name, Ausrüstung) |
---|---|---|---|---|---|---|---|
B01 | 2025-10-31 | Spuk im Schloss | Burg Schattenfels | G1 | Dr. Spengler | Poltergeister | (Anna, EMF-Detektor), (Ben, Thermokamera) |
B02 | 2025-11-12 | Flüstern im Wald | Nebelmoor | G2 | Dana Barrett | Akustische Phänomene | (Carla, Diktiergerät) |
B03 | 2025-11-15 | Spuk im Schloss | Burg Schattenfels | G1 | Dr. Spengler | Poltergeister | (David, EMF-Detektor) |
Regel: Alle Attribute müssen atomar sein. Die mehrwertige Spalte "Teilnehmer" wird aufgelöst. Jede Teilnahme erhält eine eigene Zeile. Der neue Primärschlüssel ist zusammengesetzt aus BuchungNr und TeilnehmerName.
BuchungNr | TeilnehmerName | Ausrüstung | TourDatum | TourName | Ort | GuideID | GuideName | GuideSpezialgebiet |
---|---|---|---|---|---|---|---|---|
B01 | Anna | EMF-Detektor | 2025-10-31 | Spuk im Schloss | Burg Schattenfels | G1 | Dr. Spengler | Poltergeister |
B01 | Ben | Thermokamera | 2025-10-31 | Spuk im Schloss | Burg Schattenfels | G1 | Dr. Spengler | Poltergeister |
B02 | Carla | Diktiergerät | 2025-11-12 | Flüstern im Wald | Nebelmoor | G2 | Dana Barrett | Akustische Phänomene |
B03 | David | EMF-Detektor | 2025-11-15 | Spuk im Schloss | Burg Schattenfels | G1 | Dr. Spengler | Poltergeister |
Regel: Kein Nicht-Schlüsselattribut darf von einem Teil des zusammengesetzten Primärschlüssels abhängen.
Wir erstellen die Tabellen Buchungen und Teilnahmen.
BuchungNr | TourDatum | TourName | Ort | GuideID | GuideName | GuideSpezialgebiet |
---|---|---|---|---|---|---|
B01 | 2025-10-31 | Spuk im Schloss | Burg Schattenfels | G1 | Dr. Spengler | Poltergeister |
B02 | 2025-11-12 | Flüstern im Wald | Nebelmoor | G2 | Dana Barrett | Akustische Phänomene |
B03 | 2025-11-15 | Spuk im Schloss | Burg Schattenfels | G1 | Dr. Spengler | Poltergeister |
BuchungNr | TeilnehmerName | Ausrüstung |
---|---|---|
B01 | Anna | EMF-Detektor |
B01 | Ben | Thermokamera |
B02 | Carla | Diktiergerät |
B03 | David | EMF-Detektor |
Regel: Es dürfen keine transitiven Abhängigkeiten bestehen. Ein Nicht-Schlüsselattribut darf nicht von einem anderen Nicht-Schlüsselattribut abhängen.
In der Tabelle Buchungen hängen GuideName und GuideSpezialgebiet von der GuideID ab (transitive Abhängigkeit). Ebenso hängt der TourName vom Ort ab. Wir lagern diese Informationen in die Tabellen Guides und Touren aus.
GuideID | GuideName | GuideSpezialgebiet |
---|---|---|
G1 | Dr. Spengler | Poltergeister |
G2 | Dana Barrett | Akustische Phänomene |
Ort | TourName |
---|---|
Burg Schattenfels | Spuk im Schloss |
Nebelmoor | Flüstern im Wald |
BuchungNr | TourDatum | Ort | GuideID |
---|---|---|---|
B01 | 2025-10-31 | Burg Schattenfels | G1 |
B02 | 2025-11-12 | Nebelmoor | G2 |
B03 | 2025-11-15 | Burg Schattenfels | G1 |
BuchungNr | TeilnehmerName | Ausrüstung |
---|---|---|
B01 | Anna | EMF-Detektor |
B01 | Ben | Thermokamera |
B02 | Carla | Diktiergerät |
B03 | David | EMF-Detektor |
👻 Gratulation! Die Datenbank ist nun frei von paranormalen Redundanzen und in der 3. Normalform.