Sehr geehrte Community,
ich habe folgende Aufgabenstellung und benötige euere Hilfe, um ein besseres Verständnis zur Thematik "Normalisierung" zu gewinnen.
Aufgabenstellung: "Bringen Sie die die folgende Flat Table in die 1.-, 2.- und 3.NF."
Ausgangs-Entitätstyp:
[table=width: 500]
[tr]
[td]Name[/td]
[td]Vorname[/td]
[td]StrHNr[/td]
[td]PLZ[/td]
[td]Ort[/td]
[td]Ausleihdatum[/td]
[td]Medium[/td]
[/tr]
[/table]
1.NF:
Da alle Attribute der Flat-Table schon atomar angeben sind, sieht die Lösung entsprechend so aus:
[table=width: 500]
[tr]
[td]Name[/td]
[td]Vorname[/td]
[td]StrHNr[/td]
[td]PLZ[/td]
[td]Ort[/td]
[td]Ausleihdatum[/td]
[td]Medium[/td]
[/tr]
[/table]
2.NF:
Jetzt beginnt für mich die unsichere Phase, als PK definiere ich die Attribute Ausleihdatum und FreundNr (künstlicher PK).
Mein Vorschlag:
[table=width: 500]
[tr]
[td]FreundNr[/td]
[td]Ausleihdatum[/td]
[td]Medium[/td]
[/tr]
[/table]
[table=width: 500]
[tr]
[td]FreundNr[/td]
[td]Name[/td]
[td]Vorname[/td]
[td]StrHNr[/td]
[td]PLZ[/td]
[td]Ort[/td]
[/tr]
[/table]
3.NF:
Aus meinem zweiten Entitätstyp erkenne ich eine transaktive Abhängigkeit zwischen PLZ -> Ort, deshalb muss ich ein neuer Entitätstyp definieren.
[table=width: 500]
[tr]
[td]FreundNr[/td]
[td]Ausleihdatum[/td]
[td]Medium[/td]
[/tr]
[/table]
[table=width: 500]
[tr]
[td]FreundNr[/td]
[td]Name[/td]
[td]Vorname[/td]
[td]StrHNr[/td]
[td]PLZ[/td]
[/tr]
[/table]
[table=width: 500]
[tr]
[td]PLZ[/td]
[td]Ort[/td]
[/tr]
[/table]
Wäre eine solche Lösung regelkonform bzw. richtig? Oder verletzt einer meiner Entitätstypen die Normalform?
MfG
UltimateLinux