-- -- Eine Sitz in einer Vorstellung mehrfach reservieren -- -- Eine Vorstellung über add_vorstellung mit ungültigem Saal oder Film -- -- Eine Beziehung über add_schauspieler_film mit ungültigem Schauspieler oder Film -- -- Einen Saal über add_saal mit ungültigem Kino -- -- Einen Sitz über reservieren oder add_reservieren_sitz mit ungültiger Position hinzufügen -- -- Keine Schauspieler-Geburtstage vor 1900 und nach 2100 INSERT INTO Schauspieler (Vorname, Nachname, Geburtstag) VALUES ('Nicht', 'So', STR_TO_DATE('1.3.2237', '%e.%c.%Y')); INSERT INTO Schauspieler (Vorname, Nachname, Geburtstag) VALUES ('So', 'Auch-Nicht', STR_TO_DATE('1.3.1837', '%e.%c.%Y')); -- -- Mit einer ungültigen Mail-Adresse reservieren SET @resID1 := reservieren('Kino 1', STR_TO_DATE('6.5.2017 22:00', '%e.%c.%Y %H:%i'), 'Peter', 'Ustinov', '@gmx.de', 10, 10); -- -- Keine Preise über 100 Euro für einen Sitz CALL update_preis('Kino 1', 50, 50, 1, 35, 130); CALL update_preis('Kino 1', 50, 50, 1, 35, 100.5); -- -- Überlappende Vorstellungen CALL add_vorstellung('Kino 1', 'Alan und die Wundertüte', STR_TO_DATE('2.5.2017 21:20', '%e.%c.%Y %H:%i')); UPDATE Film SET Spieldauer=200 WHERE Name='Tarkan, der Herr des Dschüngels'; UPDATE Vorstellung SET Beginn = STR_TO_DATE('2.5.2017 14:20', '%e.%c.%Y %H:%i') WHERE ID = 26; -- 2.5.2017 21:10 in Kino 1 -- -- Registrierungen loggen -- Schon belegt wird aufgrund der Beschränkungen von MysQL nicht geloggt (kein PRAGMA AUTONOMOUS_TRANSACTION) SET @resID_test := reservieren('Kino 3', STR_TO_DATE('6.5.2017 18:00', '%e.%c.%Y %H:%i'), 'Mark', 'Müller', 'mueller17@gmail.com', 5, 8); CALL add_reservieren_sitz(@resID_test, 5, 9); CALL add_reservieren_sitz(@resID_test, 5, 10);