mrjerk: DB-Struktur

Beitrag lesen

Hallo,

Schüler(Schueler_ID, Vorname, Nachname)
Kurs(Kurs_ID, Kursbezeichnung)
gebucht(Schueler_ID, Kurs_ID)

In einer Tabelle sollten nach meiner Auffassung nur die unmittelbaren Eigenschaften eines "Gegenstands" stehen.

Die Frage ist halt, wie da die Fachlichkeit ist.
Wenn es eine echte "1:n"-Beziehung ist, also ein Schüler genau EINEN Kurs besuchen kann (was ja sein kann, wenn das z.b. der EINE Wahlkurs ist, den ein Schüler maximal belegen kann o.ä.), dann ist ein Schüler also ein "Kursbesucher" und somit ist die Kurs-ID auch eine Eigenschaft eines ebensolchen.
Eine zusätzliche Tabelle würde dann ggf. unnötig Performance für Joins verursachen.

Vermutlich hat der Fragende aber tatsächlich eine m:n-Beziehung gemeint (Die Zuordnung Kurs-Shüler sieht zumindest stark danach aus), insofern - guter Einwand.