Datenmodell
Der gemeinsame Kern, die Schemata der Produkte und die Regel, was in den Kern gehört.
Alle Tabellen liegen in einer PostgreSQL-Datenbank (ab Version 16), aufgeteilt in Schemata:
| Schema | Inhalt | schreibt |
|---|---|---|
kern |
Schulen, Personen, Mitgliedschaften, Schuljahr und Zeiträume, Klassen, Fächer, Kurse, Lehraufträge, Belegungen, Stundentafel, Hoheit, Protokoll | je Datenart das Produkt mit Hoheit |
roster |
Schülerakte: Stammblatt, Anschriften, Beziehungen, Sperrvermerke, Laufbahn, Schulwechsel, Förderplanung, Aufbewahrung | roster |
score |
Leistungen, Noten, Zeugnisse, Abschlüsse, Fristen, Regelpflege | score |
timbra |
Räume, Zeitraster, Kursplanung, freigegebene Pläne, Vertretungen | timbra über die Kern-API |
Was in den Kern gehört
In kern steht nur, was mindestens zwei Produkte brauchen. Alles andere liegt im Schema des
Produkts und verweist auf die Kernzeile. Ein Zeitraum im Kern hat zum Beispiel nur Namen und
Datum; den Notenschluss eines Halbjahres führt score in seinem eigenen Schema.
Personen und Teilnahme
Jeder Mensch ist genau eine kern.person, ohne Bindung an eine Schule. Woran er teilnimmt, steht
in eigenen Tabellen mit Gültigkeit:
- Mitgliedschaft an einer Schule mit einer Rolle (Schüler, Sorgeberechtigte, Lehrkraft, Klassenleitung, Sekretariat, Schulleitung …),
- Klassenzugehörigkeit je Schuljahr,
- Lehrauftrag und Belegung in einem Kurs,
- Kürzel einer Lehrkraft je Schule.
Fachtabellen der Produkte haben keine Spalten für Namen oder Stammdaten; sie verweisen auf die Person. Personen aus fremden Systemen werden über deren Kennung zugeordnet, nie über den Namen.
Unterricht
schuljahr → zeitraum (Halbjahre), klasse je Schuljahr, fach, kurs je Schuljahr. Ein
Kurs kann mehreren Klassen gehören (kurs_klasse), weil Stundenpläne Kurse über Klassen hinweg
kennen. Die stundentafel hält Wochenstunden je Fach und Jahrgang oder Gesamtstunden je Beruf.
Verweise zwischen Tabellen tragen die Schule mit, damit nichts über Schulgrenzen zeigt.
Migrationen
Alle Migrationen liegen in canon, je Schema eine eigene Folge. Ein Produkt migriert den Kern und die Schemata, die es braucht. Migrationen sind nur abwärtskompatibel, weil bestehende Installationen je Schule oder Land einzeln migriert werden.
Weiter: Rechte und Protokoll.