• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

mal wieder Datenbanklayout

Status
Für weitere Antworten geschlossen.

stoni

Neues Mitglied
Hi,
nachdem ich mein letztes Übungsprojekt soweit fertig hatte das es Prinzipiell lief wollte ich dieses mal etwas praktisches für mich basteln. Ich habe mir also vorgenommen eine Datenbank zu erstellen die meine mp3-Sammlung erfasst. Da ich die CDs selber gerippt habe haben die auch alle (naja fast alle) einen kompletten ID3-Tag den ich für die Daten der Datenbank nutzen möchte. Eingetragen werden die Daten mit einem kleinen Skript das ich über einen Verzeichnisbaum laufen lasse, das die ID3-Tags ausliest und in die Datenbank packt. Prinzipiell klappt das auch schon - ich habe nur leider ein kleines Denkproblem bei dem ich nicht weiss wie ich das lösen soll. Folgendes zum Layout:
  • Tabelle ``genre`` das ist ledigleich eine tabelle mit IDs und dem zugehörigem bezeichner
  • Tabelle ``album`` ein Album hat eine eindeutige ID einen Namen und einen foreign key auf den Interpreten von dem das album kommt (ja - ich weiss das ist schon ein Problem auf das ich später komme...)
  • Tabelle ``interpret`` ein Interpret hat einen Namen und eine eindeutige ID
  • ``lookuptabelle interpret album`` die Tabelle hat lediglich 2 Felder die jeweils einen foreign key auf album oder interpret darstellen
  • Tabelle ``track`` diese Tabelle hat eine eindeutige ID, ein Feld für den Titel, ein Feld für die Tracknummer(auf seiner CD). Zusätzlich noch einen foreign key für die ID seines Interpreten , einen foreign key für die ID seines Albums und einen foreign key für die ID seines genres
Das dieses Layout ein Probelm hat ist mir erst aufefallen als ich meine Daten das erste mal eingelesen habe - ich habe einige Sampler in meiner Sammlung auf der es mehrere Interpreten gibt. Mein Sktipt geht folgendermaßen vor:
  • nimm alle daten aus dem ID3-Tag
  • suche in der DB nach dem interpreten - gibt es ihn nicht lege ihn neu an - merke dir die id
  • suche in der DB nach dem Genre des aktuellen Tracks - gitb es das nicht lege es neu an - merke dir die id
  • suche in der DB nach einem Album von dem Interpreten (id hat es noch) und diesem Albumtitel - gibt es das nicht lege es neu an - merke dir die id
  • lege den Track an mit allen Daten und ids...
Eintragen kann ich so alle Einträge in die Datenbank, allerdings bekomme ich für einen Sampler auf dem 10 Interpreten vertreten sind auch 10 Alben eingetragen - jeder Interpret bekommt sein eigenes Album mit nur seinem Titel enthalten. Würde ich beim anlegen nicht auf die ID des Interpreten Testen wäre es ja nicht möglich das 2 Interpreten ein Gleichbenanntes Album haben dürften...
Das Problem bin also ich mit meinerm Datenbanklayout - wie kann ich das lösten?
Ein zusätzliches Problem ist noch das ich bislang jedes Album einem Interpreten zuordne. Das gibt bei Samplern auch Probleme - wie sollte ich das geschick lösen?
wäre nett wenn mir jemand ein paar Hinweise geben könnte - wenn ihr noch mehr infos braucht - sagt einfach bescheid...
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben