herwig: mysql-tabellenorganisation-bitte helfen

hallo datenbankprofis, bitte helft mir bei der sinnvollen organisation meiner tabellen...

folgende daten warten auf organisation:
1. Musikstücke, z.B. song1, song2,...,song199;
2. Konzerte, z.B. London, Paris, New York, St.Umleitung,...;

Es existiert eine Tabelle "konzerte" mit den Spalten "konz-id","ort","datum","zuschauermenge",
und eine zweite tabelle "songs" mit Spalten wie "song-id", "name","liedtext",...,"songdauer"

ich möchte nun zu jedem konzert die gespielten songs festhalten.

meine frage: soll ich einfach in der tabelle "konzerte" eine spalte "songs" einfügen, die mehrfacheinträge zulässt, oder ist es besser, eine eigene tabelle dafür anzulegen. wie kann man sowas am besten lösen, bzw. gibt es für diese art von relation ein theoretisches modell, an das man sich halten soll?

danke euch für die hilfe!

mfg
herwig

  1. Hallo.

    Nachdem ein Song wohl auf verschiedenen Konzerten gespielt wird und auf einem Konzert mehrere Songs gespielt werden, bietet es sich an eine Verknüpfungstabelle hinzuzufügen. Dort werden die Paare (Konz-id, Song-id) gespeichert. Über passendes JOINen der Tabellen bekommst Du dann die Listen, welcher Song auf welchen Konzert gespielt wurde bzw. auf welchem Konzert welche Songs gespielt wurden.

    Grüße aus Würzburg
    Julian

    --
    "machines will eat itself." Bau Dir Deinen eigenen Bot.
    http://www.hgb-leipzig.de/~franz/hyperportrait/testers/
  2. Hallo herwig!

    Als Datenbankprofi will ich mich mal nicht bezeichnen, aber ich antworte dir trotzdem mal.

    folgende daten warten auf organisation:

    1. Musikstücke, z.B. song1, song2,...,song199;
    2. Konzerte, z.B. London, Paris, New York, St.Umleitung,...;

    Es existiert eine Tabelle "konzerte" mit den Spalten "konz-id","ort","datum","zuschauermenge",
    und eine zweite tabelle "songs" mit Spalten wie "song-id", "name","liedtext",...,"songdauer"

    ich möchte nun zu jedem konzert die gespielten songs festhalten.

    Also, ich würd ne zusätzliche Tabelle Anlegen, mit den Spalten:
    id (auto-increment), konz-id, song-id.

    Das sollte doch reichen, die zusätzliche ID-Spalte ist an sich evtl. gar nicht wirklich nötig, aber ich würd sie trotzdem einbauen, so kann man bei Bedarf einfach über die ID auf einen bestimmten Datensatz zugreifen.
    Du kannst ja evtl. auch noch eine Spalte mit "Position" oder so einfügen, und in der dann die Reihenfolge der Songs speichern, falls Du sie mal nicht der Reihenfolge nach eingibst oder Dich mal vertust oder so, dann könntest nämlich über die Spalte noch einfach sortieren und ggf. umordnen.

    Als theoretisches Modell kenne ich dazu ERM, siehe auch Wikipedia: ERM.

    MfG
    Götz

    --
    Losung für Freitag, 31. Dezember 2004
    Er dachte an uns, als wir unterdrückt waren, denn seine Güte währet ewiglich. (Psalm 136,23)
    Wenn euch nun der Sohn frei macht, so seid ihr wirklich frei. (Johannes 8,36)
    (Losungslink)