CREATE TABLE Studenten ( MatrNr INTEGER PRIMARY KEY, Name VARCHAR(20) NOT NULL, Semester INTEGER, GebDatum DATETIME) CREATE TABLE Professoren ( PersNr INTEGER PRIMARY KEY, Name VARCHAR(20) NOT NULL, Rang CHAR(2) CHECK (Rang in ('C2', 'C3', 'C4')), Raum INTEGER UNIQUE, Gebdatum DATETIME) CREATE TABLE Assistenten ( PersNr INTEGER PRIMARY KEY, Name VARCHAR(20) NOT NULL, Fachgebiet VARCHAR(20), Boss INTEGER REFERENCES Professoren, GebDatum DATETIME) CREATE TABLE Vorlesungen ( VorlNr INTEGER PRIMARY KEY, Titel VARCHAR(20), SWS INTEGER, gelesenVon INTEGER REFERENCES Professoren) CREATE TABLE hoeren ( MatrNr INTEGER REFERENCES Studenten ON UPDATE CASCADE ON DELETE CASCADE, VorlNr INTEGER REFERENCES Vorlesungen ON UPDATE CASCADE, PRIMARY KEY (MatrNr, VorlNr)) CREATE TABLE voraussetzen ( Vorgaenger INTEGER REFERENCES Vorlesungen ON UPDATE CASCADE, Nachfolger INTEGER REFERENCES Vorlesungen, PRIMARY KEY (Vorgaenger, Nachfolger)) CREATE TABLE pruefen ( MatrNr INTEGER REFERENCES Studenten ON UPDATE CASCADE ON DELETE CASCADE, VorlNr INTEGER REFERENCES Vorlesungen ON UPDATE CASCADE, PersNr INTEGER REFERENCES Professoren, Note NUMERIC(3,1) CHECK (Note between 0.7 and 5.0), PRIMARY KEY (MatrNr, VorlNr))