Beispiel:
In der Tabelle "Reise" sind die Attribute "Vorname", "Straße"
und "PLZ" abhängig vom Attribut "Name", nicht vom Primärschlüssel.
Außerdem ist "Ort" abhängig von "PLZ" (X=Rechnungsnummer, Y=PLZ,
Z=Ort; zu jeder Rechnungsnummer gehört eine PLZ und zu jeder PLZ ein
Ort, also zu jeder Rechnungsnummer ein Ort).
Abhilfe:
Die transitiv abhängigen Datenfelder werden in weitere Tabellen
ausgelagert, da sie nicht direkt vom Schlüsselkandidaten abhängen,
sondern nur indirekt.
Da ein Name nicht eindeutig ist, wird jedem Angestellten eine Personalnummer
zugeordnet. Diese ist Primärschlüssel der neuen Tabelle "Personal".
Alternativ könnte ein zusammengesetzter Primärschlüssel
aus Name, Vorname und Geburtsdatum benutzt werden (dieser sollte hinreichend
eindeutig sein).
Rechnungsnummer | Datum | Personalnummer |
---|---|---|
Personalnummer | Name | Vorname | Straße | PLZ |
---|---|---|---|---|
PLZ | Ort |
---|---|
Fettgedruckte Attribute: Primärschlüssel
Wiederum besteht zwischen den Tabellen "Personal" und "Reise" sowie zwischen "PLZ" und "Personal" eine 1:n Beziehung, da ein Mitarbeiter mit einer bestimmten Personalnummer mehrere Dienstreisen machen kann und mehrere Mitarbeiter dieselbe Postleitzahl haben können.
Nach der dritten Normalisierung ergeben sich also folgende Tabellen, Datenfelder und Beziehungen:
Beachten Sie: