Die HSAweb-Datenbank: Logging (Trigger)
Lösen Sie die folgende Aufgabe mit PostgreSQL. Für spezielle Syntaxfragen steht Ihnen die offizielle Online-Dokumentation von PostgreSQL zur Verfügung.
Gegeben sei folgende HSAweb-Datenbank.

In dieser Aufgabe geht es darum, mit Hilfe von Triggern Änderung an der Tabelle lehrender
in einer History-Tabelle zu speichern (Logging).
... lehrender: l_id INTEGER, l_kuerzel D_KUERZEL, l_anrede D_ANREDE, l_titel _TITEL*, l_name D_NAME, l_email D_EMAIL*, l_zugeordnet_zu INTEGER, l_status D_STATUS_LEHRENDER = 'Lehrbeauftragter', PK: l_id, UNIQUE: l_kuerzel, FK: l_zugeordnet_zu -> fakultaet(f_id) ...
Aufgabe
Installieren Sie die HSAWeb-Datenbank hsaweb-create.sql
und befüllen Sie sie mittels hsaweb-data.sql
. Lösen Sie dann in gewohnter Weise die Aufgabe, die Sie in der Datei hsaweb-trigger.sql
enthalten. Kopieren Sie diese Datei auf Ihren Rechner und tragen Sie Ihre Lösung in die Datei ein.
Achten Sie bitte darauf, dass Ihre SQL-Anweisungen für jeden gültigen Datenbestand genau die gewünschten Informationen als Ergebnis ausgeben, nicht mehr und nicht weniger.
Musterlösung: hsaweb-trigger-loesung.sql
Hausaufgabe
Kopieren Sie das Theater-Datenbank-Skript theater.sql und erweitern sie es so, dass das Areivut „qrcode” der Tabelle „reservierung” mit einem QR-Code-Image (base64-codiert) per Trigger gefüllt wird.
Sie können Ihren Trigger dahingehend erweitern, dass der Passcode nicht nur eine Zufallszahl, sondern auch noch Informationen zur Reservierung enthält (Reservierungs-ID, Startdatum und ‑zeit der Veranstaltung sowie Titel des Stücks).
Musterlösung: theater_mit_qrcode.sql