🏏

Normalformen?

Normalformen sind ein Prozess um eine Datenbank, so umstrukturiert werden, dass keine Redundanzen mehr vorhanden sind.

Erste Normalform

Um eine Datenbank in die erste Normalform zu bringen, müssen alle ihre werte atomisiert sein.

Diese Tabelle

SchülerIdNameKursIdKurseNotenAgMitgliederzahlRathauslevelGold/Sekunde
1Richard Müller1,2Mathe, Englisch2; 1Basteln35137000
2Max Muster3,4Kunst, Geschichte2; 1Chemie12104000
3Jonas Kruse1,5Mathe, Sport4; 2Basteln25126000
4Gustav Zuse6,7Religion, Biologie3; 1American Football3137000

Wird in der ersten Normalform zu:

SchülerIdNameVornameKursIdKursNotenAGMitgliederzahlRathauslevelGold/Sekunde
1MüllerRichard1Mathe2Basteln35137000
1MüllerRichard2English1Basteln35137000
2MusterMax3Kunst2Chemie12104000
2MusterMax4Geschichte1Chemie12104000
3KruseJonas1Mathe4Basteln25126000
3KruseJonas5Sport2Basteln25126000
4ZuseGustav6Religion3American Football3137000
4ZuseGustav7Biologie1American Football3137000

SchülerId → Name, Vorname, Rathauslevem, Gold/Sekunde

KursId → Kurs

(SchülerId, KursId) → Noten

Ag → Mitgliederzahl

Zweite Normalform

Wenn bei einer Tabelle in der 1NF der Primärschlussel aus nur einem Attribut besteht, liegt automatisch die 2NF vor

Um die 1NF in die 2NF zu bringen müssen die funktionalen Abhängigkeiten ermittelt werden und jeweil in eigene Tabellen gebracht werden.

SchülerIDNameVornameRathauslevelGold/Sekunde
1MüllerRichard137000
2MusterMax104000
3KruseJonas126000
4ZuseGustav137000
KursIDKursSchüler[pfeil]
1Mathe
2English
3Kunst
4Geschichte
5Sport
6Religion
7Biologie
NotenSchülerID [pfeil]KURSID [pfeil]
112
211
223
124
431
235
346
147
AGMitgliederzahl
Basteln35
Chemie12
American Football3

Dritte Normalform

In der Schüler Tabelle liegt eine transitive Abhängigkeit vor:

SchülerId → Rathauslevel → Gold/Sekunde

Um in die dritte Normalform werden transitive Abhängigkeiten in eine separate Tabelle ausgelagert

RathaushauslvlGold/SEK
137000
104000
1260
SchülerIDNameVornameRathauslevel
1MüllerRichard13
2MusterMax10
3KruseJonas12
4ZuseGustav13