Hallo zusammen,
Ich versuche eine Anwendung zu entwickeln, mit denen Schüler sich für verschiedene Kurse in der Schule für das Abitur registrieren können. Aktuell hänge ich an der Datenbankmodellierung.
Viele Schulen bieten verschiedene Kurse an, aber die Schulen haben wiederum, wieder viele gleiche Kurse. Ein Beispiel wäre hierfür die Fächer: Mathematik, Englisch, Geografie. Diese Fächer werden an allen Schulen angeboten, in Form von Leistungskurs und Grundkurs, aber einige Schulen wiederum bieten unter anderem einzelne Fächer, wie "Studium und Beruf" oder etwas anderes, die nicht an allen Schulen angeboten werden.
Mein Lösungsansatz war, dass ich eine allgemeine Tabelle: "course" modelliere, in der gleichbleibende Daten enthalten sind, mit den folgenden Spalten:
- ID (Primärschlüssel)
- Fachname
- Kurstyp (Advanced course / basic course)
und anschließend eine versionierte Tabelle: "course_version", in der dann folgende Spalten auftauchen:
- ID (Primärschlüssel)
- kurs_id (Fremdschlüssel)
- schul_id (Fremdschlüssel)
- Beschreibung
- Semester
Was haltet ihr von diesem Ansatz? Habt ihr eventuell einen besseren Lösungsvorschlag?
Ich versuche eine Anwendung zu entwickeln, mit denen Schüler sich für verschiedene Kurse in der Schule für das Abitur registrieren können. Aktuell hänge ich an der Datenbankmodellierung.
Viele Schulen bieten verschiedene Kurse an, aber die Schulen haben wiederum, wieder viele gleiche Kurse. Ein Beispiel wäre hierfür die Fächer: Mathematik, Englisch, Geografie. Diese Fächer werden an allen Schulen angeboten, in Form von Leistungskurs und Grundkurs, aber einige Schulen wiederum bieten unter anderem einzelne Fächer, wie "Studium und Beruf" oder etwas anderes, die nicht an allen Schulen angeboten werden.
Mein Lösungsansatz war, dass ich eine allgemeine Tabelle: "course" modelliere, in der gleichbleibende Daten enthalten sind, mit den folgenden Spalten:
- ID (Primärschlüssel)
- Fachname
- Kurstyp (Advanced course / basic course)
und anschließend eine versionierte Tabelle: "course_version", in der dann folgende Spalten auftauchen:
- ID (Primärschlüssel)
- kurs_id (Fremdschlüssel)
- schul_id (Fremdschlüssel)
- Beschreibung
- Semester
Was haltet ihr von diesem Ansatz? Habt ihr eventuell einen besseren Lösungsvorschlag?