From 49a8f6a1dc8ee14d82c243fab02d0ae4120ad1f9 Mon Sep 17 00:00:00 2001 From: Max538 Date: Mon, 16 Jun 2025 15:12:51 +0200 Subject: [PATCH] added database sql skript with changes --- bibarts.sql | 138 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 bibarts.sql diff --git a/bibarts.sql b/bibarts.sql new file mode 100644 index 0000000..ea6828d --- /dev/null +++ b/bibarts.sql @@ -0,0 +1,138 @@ +CREATE TABLE user ( + userid INT AUTO_INCREMENT PRIMARY KEY, + vorname VARCHAR(50), + nachname VARCHAR(50), + straße VARCHAR(100), + hausnr VARCHAR(10), + postleitzahl VARCHAR(10), + ort VARCHAR(50), + land VARCHAR(50), + tel VARCHAR(20), + email VARCHAR(100) UNIQUE, + isAdmin BOOLEAN DEFAULT FALSE, + password VARCHAR(255) +); + + +CREATE TABLE standort ( + standortid INT AUTO_INCREMENT PRIMARY KEY, + straße VARCHAR(100), + hausnr VARCHAR(10), + postleitzahl VARCHAR(10), + ort VARCHAR(50), + land VARCHAR(50), + tel VARCHAR(20), + email VARCHAR(100) +); + + +CREATE TABLE ausstellung ( + austellungid INT AUTO_INCREMENT PRIMARY KEY, + standortid INT, + datum_von DATE, + datum_bis DATE, + name VARCHAR(100), + beschreibung TEXT, + max_tickets INT, + FOREIGN KEY (standortid) REFERENCES Standort(standortid) +); + + +CREATE TABLE ticket ( + ticketid INT AUTO_INCREMENT PRIMARY KEY, + userid INT, + eventid INT, + kaufdatum DATE, + gültigkeitsdatum DATE, + preis DECIMAL(10,2), + FOREIGN KEY (userid) REFERENCES User(userid), + FOREIGN KEY (eventid) REFERENCES Ausstellung(austellungid) +); + + +CREATE TABLE gutschein ( + gutscheinid INT AUTO_INCREMENT PRIMARY KEY, + code VARCHAR(50) UNIQUE, + rabatt INT CHECK (rabatt BETWEEN 0 AND 100), + eventid INT, + gültigkeit DATE, + FOREIGN KEY (eventid) REFERENCES Ausstellung(austellungid) +); + + +CREATE TABLE news ( + newsid INT AUTO_INCREMENT PRIMARY KEY, + name VARCHAR(100), + beschreibung TEXT, + datum DATE +); + +--Testdaten + +INSERT INTO user (vorname, nachname, straße, hausnr, postleitzahl, ort, land, tel, email, isAdmin, password) +VALUES + ('Max', 'Muster', 'Musterstraße', '1', '12345', 'Musterstadt', 'Deutschland', '0123456789', 'max@muster.de', FALSE, 'passwort123'), + ('Anna', 'Beispiel', 'Beispielweg', '5a', '54321', 'Beispielstadt', 'Deutschland', '0987654321', 'anna@beispiel.de', TRUE, 'adminpass'); + + +INSERT INTO standort (straße, hausnr, postleitzahl, ort, land, tel, email) +VALUES + ('Galeriestraße', '10', '10115', 'Berlin', 'Deutschland', '030123456', 'kontakt@galerie-berlin.de'), + ('Kunstallee', '22b', '50667', 'Köln', 'Deutschland', '0221123456', 'info@kunst-koeln.de'); + + +INSERT INTO ausstellung (standortid, datum_von, datum_bis, name, beschreibung, max_tickets) +VALUES + (1, '2025-07-01', '2025-08-31', 'Moderne Meisterwerke', 'Eine Sammlung moderner Kunstwerke aus Europa.', 200), + (2, '2025-09-10', '2025-10-20', 'Kunst der Antike', 'Ausstellung antiker Skulpturen und Gemälde.', 150); + + +INSERT INTO gutschein (code, rabatt, eventid, gültigkeit) +VALUES + ('SOMMER2025', 15, 1, '2025-08-31'), + ('HERBST25', 25, 2, '2025-10-15'); + + +INSERT INTO ticket (userid, eventid, kaufdatum, gültigkeitsdatum, preis) +VALUES + (1, 1, '2025-06-01', '2025-07-15', 12.50), + (2, 2, '2025-06-05', '2025-09-15', 10.00); + + +INSERT INTO news (name, beschreibung, datum) +VALUES + ('Neuer Standort eröffnet', 'Unsere Galerie in Köln ist jetzt geöffnet!', '2025-06-01'), + ('Frühbucher-Rabatt', 'Sichern Sie sich jetzt 15% Rabatt auf unsere Sommerausstellung.', '2025-05-20'); + +--Änderungen: + +ALTER TABLE austellung + ADD preis decimal NOT NULL + +ALTER TABLE ticket + DROP COLUMN preis + + +ALTER TABLE user + MODIFY COLUMN userid INT NOT NULL AUTO_INCREMENT; + +ALTER TABLE ticket + MODIFY COLUMN ticketid INT NOT NULL AUTO_INCREMENT; + +ALTER TABLE standort + MODIFY COLUMN standortid INT NOT NULL AUTO_INCREMENT; + +ALTER TABLE news + MODIFY COLUMN newsid INT NOT NULL AUTO_INCREMENT; + +ALTER TABLE gutschein + MODIFY COLUMN gutscheinid INT NOT NULL AUTO_INCREMENT; + +ALTER TABLE ausstellung + MODIFY COLUMN austellungid INT NOT NULL AUTO_INCREMENT; + +ALTER TABLE user + MODIFY COLUMN isAdmin BOOLEAN DEFAULT FALSE; + +ALTER TABLE user + ADD validUntil DATETIME NOT NULL DEFAULT '3025-01-01 00:00:00'; \ No newline at end of file