SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
-- Aufgabe 1 CREATE TABLE Bahnstation ( Name VARCHAR(30) NOT NULL CHECK (LENGTH(Name) >= 3 ), Barierefrei BOOLEAN CHECK (Barierefrei IN(0,1)), Unterirdisch BOOLEAN, Toiletten INTEGER CHECK (Toiletten >= 0), PRIMARY KEY(Name) ); CREATE TABLE Straßenbahn( Linie INTEGER NOT NULL CHECK (Linie <=1), Farbe VARCHAR(10) NOT NULL UNIQUE, Strecke VARCHAR(50) DEFAULT NULL, PRIMARY KEY(Linie) ); CREATE TABLE Fahrzeug( Fahrzeug CHAR(8) CHECK (Fahrzeug LIKE 'FN-_-_' AND NOT (Fahrzeug LIKE '%Q%' AND Fahrzeug LIKE '%R%')), Linie INTEGER, PRIMARY KEY(Fahrzeug), FOREIGN KEY (Linie) REFERENCES Straßenbahn(Linie) ON DELETE SET NULL ); CREATE TABLE Fahrplan( Fahrzeug CHAR(8), Minute INTEGER, Richtung VARCHAR(30), Station VARCHAR(30), PRIMARY KEY(Fahrzeug,Minute), FOREIGN KEY (Fahrzeug) REFERENCES Fahrzeug(Fahrzeug) ON UPDATE CASCADE, FOREIGN KEY (Station) REFERENCES Bahnstation(Name) ON DELETE CASCADE, FOREIGN KEY (Richtung) REFERENCES Bahnstation(Name) ON DELETE CASCADE ); -- Aufgabe2 a) SELECT Name FROM Bahnstation WHERE Unterirdisch = 1 AND Toiletten >= 2; -- b) SELECT DISTINCT Station FROM Fahrplan NATURAL JOIN Fahrzeug NATURAL JOIN Straßenbahn WHERE Linie = 4 OR Farbe = 'gelb'; -- Aufgabe 3 a) DELETE FROM Straßenbahn WHERE Linie IN ( SELECT DISTINCT Linie FROM Fahrzeug WHERE Fahrzeug IN ( SELECT Fahrzeug FROM Fahrplan WHERE Station = 'Jahnplatz' ) AND Fahrzeug IN ( SELECT Fahrzeug FROM Fahrplan WHERE Station = 'Nordpark' ) ); -- b) UPDATE Bahnstation SET Toiletten = Toiletten + 2 WHERE Unterirdisch = 1; -- c) ALTER TABLE Fahrzeug ADD Baujahr INT; -- d) ALTER TABLE Fahrzeug DROP COLUMN Baujahr; -- e) ALTER TABLE Fahrplan ADD CHECK (Minute >= 0 AND Minute <= 59); -- f) ALTER TABLE Fahrplan DROP CONSTRAINT FK_Station ALTER TABLE Fahrplan DROP CONSTRAINT FK_Richtung DROP TABLE Bahnstation;

Stuck with a problem? Got Error? Ask ChatGPT!

Copy Clear