SQL Tabelle für Noten von Fächern?
Hallo, wie kann man eine Datenbank erstellen bei der mit nur einer Tabelle die Noten der Fächer, die Lehrer und evtl. weitere Informationen stehen? Also ein ganzer Datensatz in nur einer Tabelle, weil meine Überlegung jetzt wäre für jedes Fach eine Tabelle zu machen, aber das scheint mir etwas zu aufwendig bzw. unnötig kompliziert.
4 Antworten
Ich würde nicht alle Daten in einer Tabelle speichern. Dafür verwendet man eine Abfrage. Du hättest demnach folgende Tabellen:
Lehrer, Schüler, Fächer, Noten
Nun zu den Beziehungen:
Ein Lehrer kann 1 bis n Schüler haben
Ein Lehrer kann 1 bis n Fächer unterrichten
Ein Schüler kann 1 bis n Fächer haben
Ein Schüler kann 0 bis n Noten/Fach bekommen
Die Noten-Tabelle hat eine m:n-Beziehung:
Eine zum Fach und eine zum Schüler, wobei Fach eine Beziehung zum Lehrer hat.
Bitte. Ich habe mir nun die Mühe gemacht und sende dir eine verbesserte Version als Beziehungsdiagramm in einer zusätzlichen Antwort.
Hallo!
Gute Arbeit!
In der Tabelle Noten fehlt jedoch ein Notenfeld, zum Eintragen der Note. Die Id's würde ich eher ID_[TABELLENNAME] nennen, aber das ist Geschmackssache.
LG
Norman
Linien waren nicht sichtbar.
Kann man schon, aber nicht auf eine saubere Art und Weise, da ja nicht bekannt ist, wie viele Noten anfallen. Da wäre eine zweite Tabelle für die Noten über eine 1:n-Verknüpfung die sauberere Lösung.
Die "unsaubere" Lösung wäre es zu schätzen, wie viele Noten pro Fach anfallen und dann entsprechend viele Tabellenspalten zu definieren plus ein paar Reservespalten. Aber wie gesagt - da kräuseln sich eigentlich die Fußnägel vor Entsetzen.
Grobentwurf:
Tabelle faecher
id
name
lehrer
kommentar
Tabelle noten
id
fach_id -----> faecher.id
datum
note
kommentar
Ich danke dir geliebter Ehrenbruder