Moin!
zum Beispiel: der Veranstaltungszeitraum
(dessen Abruf um die Zeitabfrage zu vereinfachen nur nach Monaten möglich sein soll)
erstreckt sich bei einigen Austellungen über mehr als ein Monat. z. Bsp.:März, April..
Eine Veranstaltung beginnt zu einem Zeitpunkt und endet zu einem späteren Zeitpunkt. Das sind exakt zwei Spalten "Start" und "Ende", welche mindestend vom Typ DATE, ggf. auch vom Typ DATETIME sein müssen. Mit passenden WHERE-Abfragen kann man dann jede beliebige Eingrenzung realisieren - auch die nach "Veranstaltungen im Zeitraum von Mai bis Juli".
Den Zeitraum der Veranstaltung durch eine n:m-Beziehung auf eine Monatsliste abzubilden ist keine gute Idee. Erstens ändert sich die Monatsliste nicht, ist also fix. Wäre deshalb stattdessen durch ein simples Feld vom Typ SET zu ersetzen (welches 12 Auswahlmöglichkeiten bietet für die 12 Monate). Und ist außerdem unnötige Redundanz, da man das exakte Datum der Veranstaltung sowieso speichern muß. Daraus läßt sich jederzeit auch der Monat bzw. die Monate generieren, in dem die Veranstaltung liegt.
oder eine Austellung kann auch 2 oder mehr Themen umfassen...
Das ist die klassische n:m-Beziehung, wie schon erwähnt wurde. Wobei "Thema" unpassend formuliert ist. Das Thema einer Veranstaltung ist hoffentlich einmalig bzw. eindeutig, und steht direkt im Datensatz der Veranstaltung. Was vermutlich gemeint ist, ist "Themengebiet" bzw. "Themenkategorie", von denen es mehrere vordefinierte (und ggf. zu erweiternde) Möglichkeiten gibt.
- Sven Rautenberg
My sssignature, my preciousssss!