Wie gesagt, ich sehe das Problem immer noch in redundanten bzw. nicht ausreichend normalisierten Tabellen.
Das wäre möglich.
Packen wir das Problem nochmal an der Wurzel:
- Eine Person kann zu keiner, einer oder mehreren (N) Gruppen gehören, und umgekehrt (N:N Beziehung)
Nein. Eine Person kann zu keiner oder einer Gruppe gehören.
- Eine Person kann zu " " " Gesprächen, und umgekehrt (N:N)
Ja, eine Person kann 0..n Gespräche haben und an einem Gespräch können 1..n Besucher und 1 Aussteller teilnehmen.
- Eine Gruppe kann zu N Gesprächen, ein Gespräch kann aber nur von einer Gruppe besucht werden (N:1).
Hier steckt wohl das Problem. Ein Gespräch kann von einer Gruppe besucht werden _oder_ von einer Person, die der Gruppe 0 (= keine Gruppe) angehört. Ich hätte es einfacher, wenn auch dafür eine Gruppe vorhanden wäre.
Daraus ergeben sich folgende Tabellen:
- Personen 1)
- Gruppen 2)
- Gespräche (oder wie du es nennst) 3)
- Personen_Gruppen 4)
- Personen_Gespräche 5)
Damit werden auch die Abfragen um einiges einfacher.
- habe ich
- habe ich, aber ohne die Einzelbesucher
- die Zeiteinheiten werden "slot" genannt, eine Person kann 0..n slots haben (0 nur vor der Eingabe, macht keinen Sinn)
- habe ich
- das sind die Kontakte, die zunächst als Wunsch existieren und durch Eintrag eines Slots zum Termin werden.
Gruß, Kalle