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:
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...
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
- 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...
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...