relationstabelle oder eine neue Spalte

jetwork

Fleissiger Benutzer
Beiträge
97
Hallo zusammen,


ich versuche gerade eine Datenbank aufzubauen. Ich habe ein ähnliches Problem wie folgendes Problem bekommen:
Die Daten alle Schulen müssen in eine Datenbank gespeichert werden. Die Informationen über die Klassen jede einzelne Schule für jeweiligen Jahrgang muss auch in der Datenbank sein. Es ist nicht fest in Jedes Jahr wie viele parallel Klassen sein werden.
z. B. es gibt manchmal Klassen 5a und 5b manchmal 5a, 5b und 5c

Welche von folgenden Lösungen sind sinnvoll oder Wann ist welche lösung sinnvoll oder habt ihr einen besseren Vorschlag?
Erster Vorschlag:
tbl_schule

schule_id
schule_name
schultyp
schueleranzahl
usw.

tbl_beziehungen
schule_ref
klasse_ref

jahrgang

tbl_klasse
klasse_id
schueleranzahl
klassenlehrer
usw.

Zweiter Vorschlag:
tbl_schule

schule_id
schule_name
schultyp
schueleranzahl
usw.

tbl_klasse
klasse_id
jahrgang -> Jahrgang als eine neue Spalte
schule_ref
schueleranzahl
klassenlehrer
usw.

Danke im Voraus
 
Werbung:
Hallo zusammen,


ich versuche gerade eine Datenbank aufzubauen, habe ein Problem ähnlich wie folgendes Problem bekommen:
Die Daten alle Schulen müssen in eine Datenbank gespeichert werden. Die Informationen über die Klassen jede einzelne Schule für jeweiligen Jahrgang muss auch in der Datenbank sein. Es ist nicht fest in Jedes Jahr wie viele parallel Klassen sein werden.
z. B. es gibt manchmal Klassen 5a und 5b manchmal 5a, 5b und 5c

Welche von folgenden Lösungen sind sinnvoll oder Wann ist welche lösung sinnvoll oder habt ihr einen besseren Vorschlag?
Erster Vorschlag:
tbl_schule

schule_id
schule_name
schultyp
schueleranzahl
usw.

tbl_beziehungen
schule_ref
klasse_ref

jahrgang

tbl_klasse
klasse_id
schueleranzahl
klassenlehrer
usw.

Zweiter Vorschlag:
tbl_schule

schule_id
schule_name
schultyp
schueleranzahl
usw.

tbl_klasse
klasse_id
jahrgang -> Jahrgang als eine neue Spalte
schule_ref
schueleranzahl
klassenlehrer
usw.

Danke im Voraus

erste Lösung. "jahrgang -> Jahrgang als eine neue Spalte" ist komplett FAIL. In Tabelle Schule ist aber auch ein Fehler: Schüleranzahl. Das ist nix festes an der Stelle, es sei denn, daß soll eine Konstante wie z.B. die max. Anzahl sein. Die aktuelle Anzahl der Schüler berechnet sich aus der Summer der einzelnen Klassen.
 
Danke für deine Antwort.
Warum ist zweite komplett fail?
Mann kann auch die Informationen mit der Anweisung "where jahrgang = "2014"" abfragen? Was ist Fail daran?

ist Erste Lösung wirklich sinnvoll genug oder hast du noch eine bessere Lösung?
 
Hi,

wie @akretschmer schon angedeutet hat berechnet sich die Schülerzahl, sofern vorhanden, aus den Tabellen mit den Schülern. Da Schule und Klasse eine 1:n Relation bilden ist eine Relationentabelle überflüssig. Eine solche wird nur bei n:m Relationen benötigt.

Gruß
Hony

Nachtrag:
Die Lehrer würde ich allerdings in einer eigenen Tabelle abbilden. Es handelt sich hierbei zwar um eine 1:1 Relation, allerdings können Klassenlehrer auch Fachlehrer in einer anderen Klasse sein. Klasse und Fachlehrer bilden dann aber eine n:m Relation. ;)
 
Zuletzt bearbeitet:
Werbung:
Zurück
Oben