| .. | ||
| aufgabe.sql | ||
| index.html | ||
| musterloesung.sql | ||
| README.md | ||
| test_aufgabe.sql | ||
SQL 15: Virtuelle Views & Trigger 👁️⚡
Willkommen zu Modul 15 (Lehrpfad 4: Performance, Transaktionen & Analytics Master)!
In Unternehmensarchitekturen müssen komplexe Abfragen für BI-Tools vereinfacht und geschäftskritische Regeln automatisiert werden. In diesem Modul lernst du virtuelle Views (CREATE VIEW) und reaktive Datenbank-Trigger (CREATE TRIGGER).
🎯 Lernziele
- Virtuelle Sichten (
CREATE VIEW): Kapseln komplexer Multi-Tabellen-Joins und Aggregationen in saubere, wiederverwendbare Schnittstellen. - Daten-Sicherheit & Maskierung: Ausblenden sensibler Spalten (wie Passwort-Hashes oder PII) über spezialisierte Views.
- Event-Driven Database Triggers (
CREATE TRIGGER): Automatisches Ausführen von SQL-Logik beiINSERT,UPDATEoderDELETE. NEWundOLDPseudotabellen: Verarbeiten veränderter Datensätze vor und nach DML-Operationen.- Revisionssichere Audit-Trails: Automatisches Protokollieren von Preisänderungen für Compliance & Rechnungsprüfung.
💡 Syntax im Detail
-- Trigger zur Bestandsreduzierung
CREATE TRIGGER trg_lager_update
AFTER INSERT ON bestellpositionen
FOR EACH ROW
BEGIN
UPDATE produkte
SET lagerbestand = lagerbestand - NEW.menge
WHERE id = NEW.produkt_id;
END;
🚀 Aufgabenstellung (aufgabe.sql)
- TODO 1: View
v_kunden_bestell_cockpit– Erstelle ein Aggregations-Cockpit für Kundendaten ohne sensitive Passwortspalten. - TODO 2: View
v_top_seller_uebersicht– Erstelle einen Top-Seller-Report für Produkte. - TODO 3: Trigger
trg_lagerbestand_reduzieren– Aktualisiere bei jedemINSERT ON bestellpositionenautomatisch den Lagerbestand. - TODO 4: Trigger
trg_preis_historie_audit– Schreibe bei jeder Preisänderung aufprodukteeinen Historien-Eintrag inaudit_preis_historie.
🧪 Tests ausführen
Validierung erfolgt über test_aufgabe.sql.