Hier wird das grundlegende relationale Datenbankschema erläutert. Abweichungen von der eingesetzen Datenbank sind möglich, insbesondere durch individuell angepasste oder zusätzliche Datenbankfelder.
"Index" und "Null erlaubt"-Werte in Klammern sind
Ist-Werte der Datenbank. Die Nullwerte wurden bei der Entwicklung etwas frei
gehandhabt.
Die Fremdschlüssel sind ohne Löschweitergabe (CASCADE DELETE) um nicht versehentlich
Unterrichtsstunden zu löschen. Zum Löschen nicht verwendeter Stammdaten kann "Wartung"
im Stundenplanprogramm verwendet werden. Durch aktiviertes CASCADE UPDATE in den Datenbanktabellen
können Änderungen an Primärschlüsseln der Stammdaten weitergegeben werden.
Durch Trigger wird verhindert, dass ein Dozent zum selben Termin an zwei Orten
sein kann.
Eine Tabelle MSysConf ist für die Nutzung von SQL-Datenbanken durch
MS Access anzulegen z.B. für eigene Auswertungen durch MS Access. Siehe
Microsofts Access Dokumentation.
Dozent/Lehrer/Ausbilder usw. welcher Unterrichtstunden geben kann.
Spaltenname | Typ (Sybase) | Index | Fremdschlüssel | Null erlaubt | Bemerkung |
---|---|---|---|---|---|
DozentID | VarChar(5) | x | - | -(x) | Namensabkürzung |
Titel | VarChar(20) | - | - | x | |
Vorname | VarChar(20) | - | - | x | |
Name | VarChar(20) | - | - | -(x) | |
weiblich | bit | - | - | - | als Herr/Frau angezeigt |
FachbereichID | Varchar(3) | x | Fachbereich | x | zum Filtern verwendet |
Stundensatz | money | - | - | x | für Vorbelegung beim erstellen neuer Unterrichtstunden. Die Währung wird nicht gespeichert und wird nur aus der Windows-Systemsteuerung übernommen. |
Die Tabelle repräsentiert die Anwesenheit eines Dozenten und somit das eine Unterrichtsstunde zugewiesen werden kann. Durch setzen von "autom. Anwesenheit" im Programm wird beim anlegen einer Unterrichtsstunde auch eine entsprechende Zeile hier eingetragen.
Spaltenname | Typ (Sybase) | Index | Fremdschlüssel | Null erlaubt | Bemerkung |
---|---|---|---|---|---|
Tag | DateTime | - | Dozent_Kalender | x | Datum |
Stunde | smallint | - | Dozent_Kalender | x | Stundennummer |
DozentID | VarChar(5) | - | Dozent_Kalender | x | Dozent/Lehrer |
Die Tabelle repräsentiert einen Termin (anwesend oder nicht anwesend) eines Dozenten und somit auch das eine Unterrichtsstunde zugewiesen werden kann. Durch setzen von "autom. Anwesenheit" im Programm wird beim anlegen einer Unterrichtsstunde auch eine entsprechende Zeile zuerst hier eingetragen.
Spaltenname | Typ (Sybase) | Index | Fremdschlüssel | Null erlaubt | Bemerkung |
---|---|---|---|---|---|
Tag | DateTime | - | Tag | x | Datum |
Stunde | Byte | - | Stunde | x | Stundennummer |
DozentID | VarChar(5) | - | Dozent | x | Dozent/Lehrer |
Bemerkung | VarChar(20) | - | - | x | Benennung des Termins |
Ort/Zimmer/Raum in dem die Unterrichtsstunden stattfinden können.
Spaltenname | Typ (Sybase) | Index | Fremdschlüssel | Null erlaubt | Bemerkung |
---|---|---|---|---|---|
OrtsID | VarChar(5) | x | - | x | Ortsabkürzung |
Ortsbezeichnung | VarChar(20) | - | - | x | |
Plaetze | Int | - | - | x | wird im Stundenplan nicht ausgewertet |
FachbereichID | Varchar(3) | - | Fachbereich | x | zum Filtern verwendet |
Wird im Stundenplan als Fach bezeichnet.
Spaltenname | Typ (Sybase) | Index | Fremdschlüssel | Null erlaubt | Bemerkung |
---|---|---|---|---|---|
NutzungsID | VarChar(7) | x | - | -(x) | Fachabkürzung |
Nutzungsbezeichnung | VarChar(55) | - | - | x | |
FachbereichID | Varchar(3) | x(-) | Fachbereich | x | zum Filtern verwendet |
Soll | Int | - | - | x | kann weggelassen werden! Für einfache Soll-Ist Vergleiche der Stundenzahlen in den Summen |
TypID | Varchar(3) | - | Typ | x | kann weggelassen werden! Für Vorgabe im Bearbeitungsdialog. |
Seminargruppe/Klasse/Lehrgangsgruppe welche an Unterrichtstunden teilnehmen kann.
Spaltenname | Typ (Sybase) | Index | Fremdschlüssel | Null erlaubt | Bemerkung |
---|---|---|---|---|---|
SGID | VarChar(5) | x | - | -(x) | Seminargruppenabkürzung |
SGBezeichnung | VarChar(20) | - | - | x | |
FachbereichID | Varchar(3) | - | Fachbereich | x | zum Filtern verwendet |
OrtsID | VarChar(5) | - | Ort | x | Vorbelegung bei neuem Unterricht |
Tage an denen die Seminargruppe anwesend ist und somit Unterrichtsstunden geplant werden können. Die Nichtanwesenheit kann im Programm farbig hervorgehoben werden.
Spaltenname | Typ (Sybase) | Index | Fremdschlüssel | Null erlaubt | Bemerkung |
---|---|---|---|---|---|
Tag | DateTime | -(x1)(x) | Tag | x | Datum der Anwesenheit. Die SG muss anwesend sein, damit Unterricht verplant werden kann. |
SGID | VarChar(5) | -(x1) | SG | -(x) | Seminargruppenabkürzung |
Semester | smallint | - | - | x | Semesternummer, welche in der "Übersicht Anwesenheit" ausgegeben werden kann und die Färbung der Balkengrafik beeinflusst |
Muss nicht als Fachbereich/Abteilung/Institut/Sektion aufgefasst werden sondern dient als Filter um nicht alle Werte in Listen anzuzeigen.
Spaltenname | Typ (Sybase) | Index | Fremdschlüssel | Null erlaubt | Bemerkung |
---|---|---|---|---|---|
FachbereichID | VarChar(3) | x | - | -(x) | Fachbereichsabkürzung |
Fachbereichsbezeichnung | VarChar(30) | - | - | x |
Enthält den Betriebskalender. Sonntage werden ausgelassen.
Spaltenname | Typ (Sybase) | Index | Fremdschlüssel | Null erlaubt | Bemerkung |
---|---|---|---|---|---|
Tag | DateTime | x | - | -(x) | Namensabkürzung |
Bemerkung | VarChar(20) | - | - | x | sobald ein Wert vorhanden ist z.B. eine Feiertagsbezeichnung wird der gesamte Tag markiert |
Enthält die möglichen Stunden pro Tag.
Spaltenname | Typ (Sybase) | Index | Fremdschlüssel | Null erlaubt | Bemerkung |
---|---|---|---|---|---|
Stunde | smallint | x | - | -(x) | Stundennummer die angezeigt werden soll. niedrigste Zahl (z.B. 0 oder 1) wird erste Stundennummer |
Anfang | DateTime | - | - | x | Anfangszeit der Stunde, wird nur angezeigt aber nicht auf Ungültigkeit geprüft |
Ende | DateTime | - | - | x | Endezeit der Stunde, wird nur angezeigt aber nicht auf Ungültigkeit geprüft |
Für zusätzliche Angaben wie Klausur, Prüfung, Labor usw., welche oben rechts in der Unterrichtsstunde angezeigt werden kann.
Spaltenname | Typ (Sybase) | Index | Fremdschlüssel | Null erlaubt | Bemerkung |
---|---|---|---|---|---|
TypID | VarChar(3) | x | - | - | Abkürzung für den Typ wie Kl, Prü oder Lab |
TypBezeichnung | VarChar(30) (50 MSAccess) |
- | - | x |
Die Unterrichtsstunde ohne die SG. Die SG werden über die Tabelle Zuhoerer verknüpft. Dadurch können mehrere SG an einer Unterrichtsstunde teilnehmen. Durch den Primärschüssel wird eine Unterrichtsstunde durch einen Tag, eine Stunde, an einem Ort definiert!
Spaltenname | Typ (Sybase) | Index | Fremdschlüssel | Null erlaubt | Bemerkung |
---|---|---|---|---|---|
Tag | DateTime | -(x1) | Tag, Dozent_anwesend | -(x) | Datum |
Stunde | smallint | -(x1) | Stunde, Dozent_anwesend | -(x) | Stundennummer |
OrtsID | VarChar(5) | -(x1) | Ort | -(x) | Ort bzw. Zimmer |
DozentID | VarChar(5) | x(-) | Dozent_anwesend | x | Dozent/Lehrer |
NutzungsID | VarChar(7) | - | Nutzung | -(x) | Fach |
Bemerkung | VarChar(20) | - | - | x | freie Bemerkung, die andersfarbig angezeigt werden kann |
TypID | varchar(3) | - | Typ | x | |
Stundensatz | money | - | - | x |
Die zur Unterrichtsstunde gehörenden SG. Alle Felder werden zum Primärschlüssel!
Spaltenname | Typ (Sybase) | Index | Fremdschlüssel | Null erlaubt | Bemerkung |
---|---|---|---|---|---|
Tag | DateTime | -(x1)(x2) | Unterricht, SG_anwesend | -(x) | Datum |
Stunde | smallint | -(x1)(x2) | Unterricht | -(x) | Stundennummer |
OrtsID | VarChar(5) | x(x1)(x2) | Unterricht | -(x) | Ort bzw. Zimmer |
SGID | VarChar(5) | x(x1) | SG_anwesend | -(x) | Seminargruppe |
Die Tabelle zeichnet eine Historie mit allen Änderungsoperationen (INSERT, DELETE) der Unterrichtsstunden auf. Dies wird über Trigger realisiert. Daher geht dies in MS Access und mySQL 4.0 nicht.
Spaltenname | Typ (Sybase) | Index | Fremdschlüssel | Null erlaubt | Bemerkung |
---|---|---|---|---|---|
Nutzer | char(16) | - | - | - | Datenbankbenutzer |
Typ | char(1) | - | - | - | i für Insert, d für Delete |
Tag | DateTime | - | - | x | Datum der Unterrichtsstunde |
Stunde | Byte | - | - | x | Stundennummer |
OrtsID | VarChar(5) | - | - | x | Ort der Unterrichtsstunde |
Wert | VarChar(5) | - | - | x | Seminargruppe oder Dozent |
Erstellt | DateTime | - | - | x | Zeitpunkt der Logbucheintragung |
Es wird anhand des angemeldeten Datenbankbenutzers geprüft, ob eine Unterrichtsstunde mit dem Ort angelegt werden darf. Ist kein Nutzer dem Ort zugeordnet, dürfen alle Datenbankbenutzer den Ort verplanen. Die Prüfung erfolgt über Trigger und ist daher nicht in MS Access und mySQL 4.0 möglich.
Spaltenname | Typ (Sybase) | Index | Fremdschlüssel | Null erlaubt | Bemerkung |
---|---|---|---|---|---|
OrtsID | VarChar(5) | - | kann zu Ort | - | Ort bzw. Zimmer |
Nutzer | VarChar(15) | - | kann zu DBMS spezifischer Tabelle | - | Datenbankbenutzer |