Hallo liebe PHP-Freunde,
derzeit stellt mich der Entwurf eines Datenbankkonzepts vor ein echtes Problem, dass ich in dieser Weise noch nie hatte. Es gibt bestimmt geeignte Lösungen, die sich auch mit einer MySQL Datenbank umsetzen lassen, allerdings führen viele meiner Ansätze zu merkwürdigen Konstrukten.
Das Problem/die Aufgabe:
Es geht darum eine Art Schülerverwaltung umzusetzen. Bekanntlich sind die Schüler jedes Schuljahr in einer neuen Klasse - zumindest die meisten von ihnen. Es soll innerhalb der Applikation möglich sein zwischen den Schuljahren zu wechseln, also unterschiedliche Zuordnungen zwischen Schülern und Klassen darzustellen. Es soll also auch ein Rückblick möglich sein. Dabei fallen immer wieder Datensätze an, die zu einem Schüler und gleichzeitig in ein bestimmtes Schuljahr gehören. Viele Beziehungen sind demnach also anhängig vom Schuljahr, was die Sache aus meiner Sicht nicht gerade vorteilhaft macht.
Folgende angedeutete Lösung käme ggf. in Frage, aber ob wirklich sinnvoll?
Tabelle Schüler, sid eindeutige Referenz
Tabelle Schuljahre, yid eindeutige Referenz
Relationstabelle Schüler_Schuljahr
id | sid | yid
Nun gibt es eine Beziehung zwischen den Schüler und den Schuljahren, die Referenzid aus der Schüler_Schuljahr kann nun dazu benutzt werden Daten wie die Klassenzugehörigkeit der Schüler in einer weiteren Tabelle abzubilden. Das hat den Vorteil, dass die Schüler nur einmalig angelegt werden müssen. Auch andere Inhalte können diese Referenz nutzen und Inhalte eindeutig einem Schuljahr und einem Schüler zuordnen.
Überzeugt bin ich von dieser Lösung nicht.
Ich hoffe, dass ich mein Problem ausreichend gut darstellen konnte. Es muss Lösungen für dieses Problem geben. Vielleicht gibt es auch mehrere, für die es jeweils Vor- und Nachteile gibt. Ggf. habt ihr auch ein Stichwort, wie sich dieses Designproblem fachsprachlich fassen lässt, so dass ich mich tiefergehend informieren kann.
Viele Grüße
ec
derzeit stellt mich der Entwurf eines Datenbankkonzepts vor ein echtes Problem, dass ich in dieser Weise noch nie hatte. Es gibt bestimmt geeignte Lösungen, die sich auch mit einer MySQL Datenbank umsetzen lassen, allerdings führen viele meiner Ansätze zu merkwürdigen Konstrukten.
Das Problem/die Aufgabe:
Es geht darum eine Art Schülerverwaltung umzusetzen. Bekanntlich sind die Schüler jedes Schuljahr in einer neuen Klasse - zumindest die meisten von ihnen. Es soll innerhalb der Applikation möglich sein zwischen den Schuljahren zu wechseln, also unterschiedliche Zuordnungen zwischen Schülern und Klassen darzustellen. Es soll also auch ein Rückblick möglich sein. Dabei fallen immer wieder Datensätze an, die zu einem Schüler und gleichzeitig in ein bestimmtes Schuljahr gehören. Viele Beziehungen sind demnach also anhängig vom Schuljahr, was die Sache aus meiner Sicht nicht gerade vorteilhaft macht.
Folgende angedeutete Lösung käme ggf. in Frage, aber ob wirklich sinnvoll?
Tabelle Schüler, sid eindeutige Referenz
Tabelle Schuljahre, yid eindeutige Referenz
Relationstabelle Schüler_Schuljahr
id | sid | yid
Nun gibt es eine Beziehung zwischen den Schüler und den Schuljahren, die Referenzid aus der Schüler_Schuljahr kann nun dazu benutzt werden Daten wie die Klassenzugehörigkeit der Schüler in einer weiteren Tabelle abzubilden. Das hat den Vorteil, dass die Schüler nur einmalig angelegt werden müssen. Auch andere Inhalte können diese Referenz nutzen und Inhalte eindeutig einem Schuljahr und einem Schüler zuordnen.
Überzeugt bin ich von dieser Lösung nicht.
Ich hoffe, dass ich mein Problem ausreichend gut darstellen konnte. Es muss Lösungen für dieses Problem geben. Vielleicht gibt es auch mehrere, für die es jeweils Vor- und Nachteile gibt. Ggf. habt ihr auch ein Stichwort, wie sich dieses Designproblem fachsprachlich fassen lässt, so dass ich mich tiefergehend informieren kann.
Viele Grüße
ec
Kommentar