Relationale Datenbank: Normalform?
-
Hi,
ich hab mal eine frage zu den Normalformen bei relationalen Datenbanken.
Angenommen ihr habt CDs die wollt ihr in einer DB erfassen. Es gibt Alben mit einer und mit zwei CDs.
ausgangssituation wäre das hier:
Tab(CD_ID, ALBUM, TITELLISTE)001, Interpret - Album, cd1 Titel, cd2 Titel,...
002, Interpret - Album, cd1 Titel,...1. NF:
Tab(CD_ID, INTERPRET, ALBUM_NAME, CD_NR, TITEL_NR, TITEL_NAME)
Primärschlüssel: CD_ID, CD_NR, TITEL_NR)001, Interpret, Album, cd1, Titel1
001, Interpret, Album, cd1, Titel2
...
001, Interpret, Album, cd2, Titel1
001, Interpret, Album, cd2, Titel2
...
002, Interpret, Album, cd1 Titel1
002, Interpret, Album, cd1 Titel2
...2. NF:
TAB_CD(CD_ID,INTERPRET,ALBUM_NAME)
TAB_TITEL(CD_ID, CD_NR, TITEL_NR, TITEL_NAME)
Primärschlüssel: CD_ID
Fremdschlüssel: CD_NR, TITEL_NRTAB_CD
001, Interpret, Album
002, Interpret, AlbumTAB_TITEL
001, cd1, Titel1
001, cd1, Titel2
...
001, cd2, Titel1
001, cd2, Titel2
...
002, cd1 Titel1
002, cd1 Titel2
...Ist das soweit korrekt? und ist mir der 2.NF auch gleich die 3.NF erfüllt? Ich bin mir da nämlich nicht so sicher...
mfg
-
ich nochmal ... also wenn ich das richtig verstanden habe ist die 3.NF eine form frei von transitiven abhängigkeiten ...
in meinem beispiel wäre aber eine abhängigkeit gegeben durch die CD_NR oder?
-
also ich hab nochmal nachgedacht:
Tab_CD(CD_ID, Interpret, Album_name)
Tab_CD_NR(CD_ID, CD_NR)
Tab_Titel(CD_NR, Titel_NR, Titel_name)so müßte wohl die 3.NF aussehen ... zumindestens wäre das in etwa so wie man das immer ließt wie eine dritte NF aussehen kann. andere Vorschläge?