none
Normalisierung einer Datenbank RRS feed

  • Frage

  • Hallo,

    ich möchte für meine CD Sammlung eine Datenbankanwendung programmieren. Da ich verschiedene CDs habe, die entweder nur einen Interpreten oder aber mehrere Interpreten haben, habe ich eine grobe Tabelle erstellt. Diese sieht wie folgt aus:

    CdID Recording Artist Genre TrackNr Track
    1 Rec1 Art1 Gen1 1 Track1
    1 Rec1 Art2 Gen1 2 Track2
    1 Rec1 Art3 Gen1 3 Track3
    1 Rec1 Art4 Gen1 4 Track4
    2 Rec2 Art2 Gen1 1 Track5
    2 Rec2 Art2 Gen1 2 Track6
    2 Rec2 Art2 Gen1 3 Track7
    2 Rec2 Art2 Gen1 4 Track2
    3 Rec3 Art5 Gen2 1 Track8
    3 Rec3 Art6 Gen2 2 Track9
    3 Rec3 Art2 Gen2 3 Track2 (Special Remix) = Track10

    Ich habe diese normalisiert und bin auf folgendes Ergebnis gekommen.

    Tabelle Link:

    CdID ArtistID GenreID TrackNr Track
    1 1 1 1 Track1
    1 2 1 2 Track2
    1 3 1 3 Track3
    1 4 1 4 Track4
    2 2 1 1 Track5
    2 2 1 2 Track6
    2 2 1 3 Track7
    2 2 1 4 Track2
    3 5 2 1 Track8
    3 6 2 2 Track9
    3 2 2 3 Track2 (Special Remix) = Track10

    Tabelle Recording:

    CdID Recording
    1 Rec1
    2 Rec2
    3 Rec3

    Tabelle Artist:

    ArtistID Artist
    1 Art1
    2 Art2
    3 Art3
    4 Art4
    5 Art5
    6 Art6

    Tabelle Genre:

    GenreID Genre
    1 Gen1
    2

    Gen2

    Nun habe ich folgende Fragen:

    1. Ist die bisherige Normalisierung korrekt?
    2. Würdet ihr die Tabelle Link weiter normalisieren, da es noch Redundanzen gibt z.B. ArtistID=2 <-> Track=Track2?

    Schönen Dank!

    Dienstag, 15. November 2011 18:09

Antworten

  • Hallo LittleBlueBird,

    ich würde sagen die Normalisierung ist so korrekt. Die Tabelle Link würde ich auch nicht weiter normalisieren sondern so belassen. Das ein Track mehrmals vorkommt, ist wahrscheinlich relativ selten, so das mir hier eine weitere Normalisierung nicht notwendig erscheint. Was die ArtistID angeht, hast Du da bereits eine eigene Tabelle also kann man da nichts weiter Normalisieren.


    Gruß Falk
    Blog Falk Krahl
    • Als Antwort markiert LittleBlueBird Dienstag, 15. November 2011 23:32
    Dienstag, 15. November 2011 20:41

Alle Antworten

  • Hallo LittleBlueBird,

    ich würde sagen die Normalisierung ist so korrekt. Die Tabelle Link würde ich auch nicht weiter normalisieren sondern so belassen. Das ein Track mehrmals vorkommt, ist wahrscheinlich relativ selten, so das mir hier eine weitere Normalisierung nicht notwendig erscheint. Was die ArtistID angeht, hast Du da bereits eine eigene Tabelle also kann man da nichts weiter Normalisieren.


    Gruß Falk
    Blog Falk Krahl
    • Als Antwort markiert LittleBlueBird Dienstag, 15. November 2011 23:32
    Dienstag, 15. November 2011 20:41
  • Hallo Falk,

    vielen herzlichen Dank für deine Antwort. Ich stimme dir zu, dass ein Track nicht so häufig auf mehreren CDs vorkommt. Lediglich wenn man viele CDs besitzt, auf denen Titel von mehreren Interpreten sind, z.B. BravoHits, Kuschelrock o.ä. und dazu noch die Alben der einzelnen Interpreten hat, kann eine Wiederholung der Tracks auftreten. Da dies bei mir nicht so häufig vorkommt, werde ich die Datenbank nach obigem Schema erstellen.

    Danke für die Unterstützung,

    LittleBlueBird

    Dienstag, 15. November 2011 23:47