Aufgaben-Python/courses/sql/15_views_und_gespeicherte_logik/README.md

1.9 KiB
Raw Blame History

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

  1. Virtuelle Sichten (CREATE VIEW): Kapseln komplexer Multi-Tabellen-Joins und Aggregationen in saubere, wiederverwendbare Schnittstellen.
  2. Daten-Sicherheit & Maskierung: Ausblenden sensibler Spalten (wie Passwort-Hashes oder PII) über spezialisierte Views.
  3. Event-Driven Database Triggers (CREATE TRIGGER): Automatisches Ausführen von SQL-Logik bei INSERT, UPDATE oder DELETE.
  4. NEW und OLD Pseudotabellen: Verarbeiten veränderter Datensätze vor und nach DML-Operationen.
  5. 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)

  1. TODO 1: View v_kunden_bestell_cockpit – Erstelle ein Aggregations-Cockpit für Kundendaten ohne sensitive Passwortspalten.
  2. TODO 2: View v_top_seller_uebersicht – Erstelle einen Top-Seller-Report für Produkte.
  3. TODO 3: Trigger trg_lagerbestand_reduzieren – Aktualisiere bei jedem INSERT ON bestellpositionen automatisch den Lagerbestand.
  4. TODO 4: Trigger trg_preis_historie_audit – Schreibe bei jeder Preisänderung auf produkte einen Historien-Eintrag in audit_preis_historie.

🧪 Tests ausführen

Validierung erfolgt über test_aufgabe.sql.