Update script.sql

This commit is contained in:
Chris-bot374
2024-07-06 10:13:40 +02:00
committed by GitHub
parent 97eecd3ad2
commit e91613690a

View File

@@ -1,25 +1,51 @@
DROP VIEW studenten_veranstalter;
DROP TABLE Veranstalter_Veranstaltung_Uhrzeit;
DROP TABLE Studenten;
DROP TABLE Veranstalter;
DROP TABLE Uhrzeit;
DROP TABLE veranstaltung;
DROP SEQUENCE global_id_seq;
CREATE SEQUENCE global_id_seq; CREATE SEQUENCE global_id_seq;
CREATE TABLE Studenten ( CREATE TABLE Studenten (
matrikelnummer INTEGER PRIMARY KEY DEFAULT nextval('global_id_seq'), matrikelnummer INTEGER PRIMARY KEY DEFAULT nextval('global_id_seq'),
"name VARCHAR(30) NOT NULL, name VARCHAR(30) NOT NULL,
"email VARCHAR(30) NOT NULL, email VARCHAR(30) NOT NULL,
"passwort VARCHAR(30) NOT NULL); passwort VARCHAR(30) NOT NULL
);
"CREATE TABLE Veranstalter ( CREATE OR REPLACE FUNCTION random_between_two()
RETURNS VARCHAR AS $$
BEGIN
IF random() < 0.5 THEN
RETURN 'A';
ELSE
RETURN 'B';
END IF;
END;
$$ LANGUAGE plpgsql;
CREATE TABLE Veranstalter (
ID INTEGER PRIMARY KEY DEFAULT nextval('global_id_seq'), ID INTEGER PRIMARY KEY DEFAULT nextval('global_id_seq'),
name VARCHAR(30), name VARCHAR(30),
email VARCHAR(30), email VARCHAR(30),
passwort VARCHAR(30), passwort VARCHAR(30),
admin BOOLEAN NOT NULL DEFAULT(FALSE) arbeitszeit INTEGER DEFAULT 0,
standort VARCHAR(30) DEFAULT random_between_two(),
); krank BOOLEAN DEFAULT FALSE,
admin BOOLEAN NOT NULL DEFAULT FALSE
);
CREATE TABLE krank (
veranstalter_ID INTEGER,
FOREIGN KEY (veranstalter_ID) REFERENCES veranstalter(ID) ON DELETE CASCADE);
@@ -33,8 +59,10 @@ CREATE TABLE krank (
CREATE TABLE Veranstaltung ( CREATE TABLE Veranstaltung (
ID SERIAL PRIMARY KEY, ID SERIAL PRIMARY KEY,
ort VARCHAR(30) NOT NULL, ort VARCHAR(30) NOT NULL,
raum VARCHAR(30) NOT NULL, raum INTEGER NOT NULL,
name VARCHAR(30) NOT NULL ); name VARCHAR(90) NOT NULL,
dauer INTEGER NOT NULL
);
@@ -57,7 +85,7 @@ CREATE TABLE krank (
CREATE TABLE Veranstalter_Veranstaltung_Uhrzeit ( CREATE TABLE Veranstalter_Veranstaltung_Uhrzeit (
uhrzeit_ID INTEGER REFERENCES Uhrzeit(ID), uhrzeit_ID INTEGER REFERENCES Uhrzeit(ID),
tag INTEGER NOT NULL, tag INTEGER NOT NULL,
veranstalter_ID INTEGER REFERNECES Veranstalter(ID), veranstalter_ID INTEGER REFERENCES Veranstalter(ID),
veranstaltung_ID INTEGER REFERENCES Veranstaltung(ID), veranstaltung_ID INTEGER REFERENCES Veranstaltung(ID),
PRIMARY KEY(uhrzeit_ID, tag) PRIMARY KEY(uhrzeit_ID, tag)
); );
@@ -75,19 +103,8 @@ CREATE TABLE krank (
('net_knight', 'user8@example.com', 'password8', FALSE), ('net_knight', 'user8@example.com', 'password8', FALSE),
('bit_boss', 'user9@example.com', 'password9', FALSE), ('bit_boss', 'user9@example.com', 'password9', FALSE),
('sys_sensei', 'user10@example.com', 'password10', FALSE), ('sys_sensei', 'user10@example.com', 'password10', FALSE),
('crypto_champ', 'user11@example.com', 'password11', FALSE), ('crypto_champ', 'user11@example.com', 'password11', FALSE);
('cloud_conqueror', 'user12@example.com', 'password12', FALSE),
('hack_whiz', 'user13@example.com', 'password13', FALSE),
('matrix_mage', 'user14@example.com', 'password14', FALSE),
('app_artisan', 'user15@example.com', 'password15', FALSE),
('ai_architect', 'user16@example.com', 'password16', FALSE),
('tech_titan', 'user17@example.com', 'password17', FALSE),
('proto_pro', 'user18@example.com', 'password18', FALSE),
('alg_adept', 'user19@example.com', 'password19', FALSE),
('data_diver', 'user20@example.com', 'password20', FALSE),
('web_warrior', 'user21@example.com', 'password21', FALSE),
('os_overlord', 'user22@example.com', 'password22', FALSE),
('kernel_keeper', 'user23@example.com', 'password23', FALSE);
INSERT INTO Veranstaltung (ort, raum, name, dauer) VALUES INSERT INTO Veranstaltung (ort, raum, name, dauer) VALUES
('A', '101', 'Grundlagen der Programmierung', 2), ('A', '101', 'Grundlagen der Programmierung', 2),
@@ -104,9 +121,10 @@ CREATE TABLE krank (
INSERT INTO Veranstalter_Veranstaltung_Uhrzeit (uhrzeit_ID, tag, veranstaltung_ID) VALUES INSERT INTO Veranstalter_Veranstaltung_Uhrzeit (uhrzeit_ID, tag, veranstaltung_ID) VALUES
(1, 1, 1), (1, 1, 1),
(2, 1, 2), (2, 1, 7),
(3, 1, 2), (3, 1, 8),
(4, 1, 3), (4, 1, 3),
(5, 1, 10),
(1, 2, 4), (1, 2, 4),
(2, 2, 4), (2, 2, 4),
@@ -131,3 +149,4 @@ INSERT INTO Veranstalter_Veranstaltung_Uhrzeit (uhrzeit_ID, tag, veranstaltung_I
(3, 5, 6), (3, 5, 6),
(4, 5, 7), (4, 5, 7),
(5, 5, 8); (5, 5, 8);