Hallo zusammen,
Ich erstelle gerade für einen Konzertveranstalter eine Webseite.
Das Veranstaltungsprogramm soll in eine Eingabemaske eingegeben
werden können. Ich wollte das ganze mit PHP und MySQL umsetzen. Hier
bin ich auf ein Problem gestoßen. Es gibt einige Spalten, bei denen
nicht festgelegt werden kann, wieviele Informationen enthalten sind.
Ein Beispiel: Bei der Veranstaltung A spielt der Künstler A Werke
von Bach, Mozart und Beethoven (=3 Komponisten), bei der Veranstaltung
B wird Schubert und Wagner gespielt (=2 Komponisten).
Ich will den Besuchern der Website die Möglichkeit geben, gezielt
nach einem Komponisten suchen zu können, woraufhin alle zutreffenden
Konzerte aufgelistet werden.
Die einfachste Möglichkeit erscheint mir, eine "dreidimensionale"
Tabelle anzulegen. Ich stelle mir das in etwa so vor:
+---------------+--------------+---------------+---------------+----
veranstaltung kuenstler komponist usw ...
+---------------+--------------+---------------+---------------+----
Veranst.1 Kuenstler 1 Komponist 1a 1
Veranst.2 Kuenstler 2 +---------------+2
+---------------+--------------+ Komponist 1b --------------+----
+---------------+
+ Komponist 1c
Komponist 2c
+---------------+
Ich kenne mich mit MySQL noch nicht gut aus, aber ich vermute,
dass das nicht möglich ist. Alternativ ist mir noch die Möglichkeit
eingefallen, statt dessen für jedes Konzert eine neue Tabelle zu
erstellen - das scheint mir aber nicht gerade die beste Möglichkeit
zu sein. Oder aber statt dieser einen Spalte mehrere anzulegen
(komponist1, komponist2, ...), wobei damit aber die Anzahl der Ein-
träge aber auf die Anzahl der Spalten beschränkt wäre. Natürlich
könnte man das im Falle dieser Website in Kauf nehmen. Die Stücke
von mehr als 10 Komponisten werden schon nicht in einem Konzert
gespielt werden. Mich interessiert aber generell eine Lösung, die
funktionieren würde, unabhängig von der Anzahl.
Wie würdet ihr das Problem lösen? Oder habe ich das Einfachste
übersehen? Für Tips wäre ich dankbar.
Viele Grüße,
Anatol