Trigger (DB)
DB-Prozedur, die automatisch bei INSERT/UPDATE/DELETE ausgeführt wird. BEFORE/AFTER + Zeilen- oder Anweisungsebene. Einsatz: Audit-Logs (wer hat was geändert), Denormalisierung, abgeleitete Spalten, Geschäftsregeln.
PostgreSQL: Der Trigger ruft eine Funktion auf (PL/pgSQL, PL/Python usw.). MySQL: Trigger-Body direkt inline. Abwägung: Trigger verstecken Logik — "warum ändert sich diese Spalte?" steht nirgends im Anwendungscode, man muss sich durchs DB-Schema graben. Performance: schwergewichtige Trigger machen simple UPDATEs langsam. Moderne Alternative: CDC plus Handler auf Anwendungsseite zur Entkopplung. Klassisches Anti-Pattern: ein Trigger, der ein weiteres UPDATE auslöst, das wiederum einen anderen Trigger feuert → rekursive Explosion. Best Practice heute: Trigger für Geschäftslogik meiden, für Audit-Trails sind sie in Ordnung.