Moin Tobi,
ich möchte eine Beispiel-DB in Postgresql installieren. Das Beispiel habe ich aus dem Netz. Aber Postgresql mag es wohl nicht.
Du musst, wenn du Schemata verwendest, entweder das Schema im search\_path
eintragen oder die Tabellen inkl. Schema-Namen referenzieren. Ich habe dir das SQL mal korrigiert, achte auf die Unterschiede:
CREATE SCHEMA uni;
CREATE TABLE uni.Studenten
(MatrNr INTEGER PRIMARY KEY,
Name VARCHAR(30) NOT NULL,
Semester INTEGER);
CREATE TABLE uni.Professoren
(PersNr INTEGER PRIMARY KEY,
Name VARCHAR(30) NOT NULL,
Rang CHAR(2) CHECK (Rang in ('C2', 'C3', 'C4')),
Raum INTEGER UNIQUE);
CREATE TABLE uni.Assistenten
(PersNr INTEGER PRIMARY KEY,
Name VARCHAR(30) NOT NULL,
Fachgebiet VARCHAR(30),
Boss INTEGER,
FOREIGN KEY (Boss) REFERENCES uni.Professoren);
CREATE TABLE uni.Vorlesungen
(VorlNr INTEGER PRIMARY KEY,
Titel VARCHAR(30),
SWS INTEGER,
gelesenVon INTEGER REFERENCES uni.Professoren);
CREATE TABLE uni.hoeren
(MatrNr INTEGER REFERENCES uni.Studenten ON DELETE CASCADE,
VorlNr INTEGER REFERENCES uni.Vorlesungen ON DELETE CASCADE,
PRIMARY KEY (MatrNr, VorlNr));
CREATE TABLE uni.voraussetzen
(Vorgaenger INTEGER REFERENCES uni.Vorlesungen ON DELETE CASCADE,
Nachfolger INTEGER REFERENCES uni.Vorlesungen ON DELETE CASCADE,
PRIMARY KEY (Vorgaenger, Nachfolger));
CREATE TABLE uni.pruefen
(MatrNr INTEGER REFERENCES uni.Studenten ON DELETE CASCADE,
VorlNr INTEGER REFERENCES uni.Vorlesungen,
PersNr INTEGER REFERENCES uni.Professoren,
Note NUMERIC(2,1) CHECK (Note between 0.7 and 5.0),
PRIMARY KEY (MatrNr, VorlNr));
LG,
CK