Frage zu Datenbankstruktur

tetsuo666

Mitglied
Hallo,

ich stehe wieder einmal vor einem Problem:

Ich möchte eine Anmeldung für ein Kurssystem schreiben.
Folgendes steht fest:

Kurse (Kurs1-Kurs10)
Vorname
Nachname
...etc


Nun soll aber jeder Kurs unterschiedliche maximale Teilnehmerzahlen haben.
Wie kann ich eine Datenbank strukturieren in der alles untergebracht ist?

Vorgang: Teilnehmer wählt Kurs aus -> Abfrage ob Kurs voll -> Daher anderer Kurs oder erst gewählter -> Persönliche Daten eintragen -> Abschicken

Brauche ich zwei getrennte Tabellen dafür? Also eine um die Kursbelegung abzufragen, und eine für die restlichen Daten. Oder sogar 10 Tabellen, quasi für jeden Kurs eine eigene?
Und wie löse ich das mit der ID, damit auch jeder dann in den tatsächlichen Kurs eingetragen wird?

Komme einfach mit der Struktur nicht klar, die ich aufbauen soll, und wäre wie immer für jede Hilfe dankbar,

Tetsuo
 
Hallo,

2 Tabellen sollten reichen.
Also eine für den Kurs und eine für die Anmeldungen.

In der Kurs-Tabelle speicherst du dann die Kurs-Daten und die maximale anzahl der Teilnehmer.
In der Anmeldungen-Tabelle logischerweise die Daten der Teilnehmer und die Id des jeweiligen Kurses

Abfragen kannst du das ja dann mit SELECT * FROM kurs, anmeldung WHERE anmeldungen.kurs_id = kurs.id

So bekommst du dann die Anmeldungen zu dem jeweiligen Kurs.
Kurse die noch frei sind kannst du vielleicht dann mit
SELECT count(*) AS anzahl FROM kurs, anmeldung WHERE anmeldungen.kurs_id = kurs.id HAVING anzahl < kurs.maxteilnehmer GROUP BY kurs.maxteilnehmer

So in etwa sollte das dann funktionieren.

Gruß
King of Darkness
 
Zurück