Ziel: Überführe die folgende Tabelle schrittweise von der Unnormalisierten Form (UNF) in die 3. Normalform (3NF).
Analysiere die Tabelle und klicke dann auf die Buttons, um die Normalisierungsschritte durchzuführen.
BestellNr | Bestelldatum | KundenNr | KundenName | KundenOrt | Positionen (ProduktNr, Produkt, Preis, Menge) |
---|---|---|---|---|---|
B001 | 2025-07-26 | K01 | Anna Meier | Zürich | (P10, Laptop, 1200.00, 1), (P20, Maus, 50.00, 1) |
B002 | 2025-07-27 | K02 | Ben Huber | Bern | (P15, Tastatur, 80.00, 1) |
B003 | 2025-07-28 | K01 | Anna Meier | Zürich | (P10, Laptop, 1200.00, 1), (P15, Tastatur, 80.00, 2) |
Regel: Eine Tabelle ist in der 1NF, wenn alle Attribute atomar sind (nicht weiter teilbar). Wir haben die mehrwertige Spalte "Positionen" aufgelöst. Der Primärschlüssel ist jetzt eine Kombination aus BestellNr und ProduktNr.
BestellNr | ProduktNr | Bestelldatum | KundenNr | KundenName | KundenOrt | Produkt | Preis | Menge |
---|---|---|---|---|---|---|---|---|
B001 | P10 | 2025-07-26 | K01 | Anna Meier | Zürich | Laptop | 1200.00 | 1 |
B001 | P20 | 2025-07-26 | K01 | Anna Meier | Zürich | Maus | 50.00 | 1 |
B002 | P15 | 2025-07-27 | K02 | Ben Huber | Bern | Tastatur | 80.00 | 1 |
B003 | P10 | 2025-07-28 | K01 | Anna Meier | Zürich | Laptop | 1200.00 | 1 |
B003 | P15 | 2025-07-28 | K01 | Anna Meier | Zürich | Tastatur | 80.00 | 2 |
Regel: Eine Tabelle ist in der 2NF, wenn sie in der 1NF ist und kein Nicht-Schlüsselattribut von einem Teil des Primärschlüssels funktional abhängig ist. Wir lagern Informationen aus, die nur von einem Teil des zusammengesetzten Schlüssels (BestellNr, ProduktNr) abhängen.
Daraus ergeben sich drei neue Tabellen.
BestellNr | Bestelldatum | KundenNr | KundenName | KundenOrt |
---|---|---|---|---|
B001 | 2025-07-26 | K01 | Anna Meier | Zürich |
B002 | 2025-07-27 | K02 | Ben Huber | Bern |
B003 | 2025-07-28 | K01 | Anna Meier | Zürich |
ProduktNr | Produkt | Preis |
---|---|---|
P10 | Laptop | 1200.00 |
P20 | Maus | 50.00 |
P15 | Tastatur | 80.00 |
BestellNr | ProduktNr | Menge |
---|---|---|
B001 | P10 | 1 |
B001 | P20 | 1 |
B002 | P15 | 1 |
B003 | P10 | 1 |
B003 | P15 | 2 |
Regel: Eine Tabelle ist in der 3NF, wenn sie in der 2NF ist und keine transitiven Abhängigkeiten bestehen. Das heisst, kein Nicht-Schlüsselattribut darf von einem anderen Nicht-Schlüsselattribut abhängen.
In der Tabelle "Bestellungen" ist KundenName und KundenOrt von KundenNr abhängig (transitive Abhängigkeit von BestellNr). Wir lagern die Kundeninformationen in eine eigene Tabelle "Kunden" aus.
KundenNr | KundenName | KundenOrt |
---|---|---|
K01 | Anna Meier | Zürich |
K02 | Ben Huber | Bern |
BestellNr | Bestelldatum | KundenNr |
---|---|---|
B001 | 2025-07-26 | K01 |
B002 | 2025-07-27 | K02 |
B003 | 2025-07-28 | K01 |
ProduktNr | Produkt | Preis |
---|---|---|
P10 | Laptop | 1200.00 |
P20 | Maus | 50.00 |
P15 | Tastatur | 80.00 |
BestellNr | ProduktNr | Menge |
---|---|---|
B001 | P10 | 1 |
B001 | P20 | 1 |
B002 | P15 | 1 |
B003 | P10 | 1 |
B003 | P15 | 2 |
🎉 Gratulation! Die Datenbank ist jetzt in der 3. Normalform. Redundanzen sind minimiert und die Datenintegrität ist verbessert.