Nein, sie sind eigentlich eine gute Idee. Wenn es ein Problem mit Ihren spezifischen Triggern gibt, dann machen Sie sie nicht richtig, aber das bedeutet normalerweise, dass es ein Problem mit Ihrer Implementierung gibt, nicht das Konzept der Trigger selbst :-).
Wir verwenden häufig Trigger, da dadurch die DBMS-spezifische Aktivität unter die Kontrolle der Datenbank gestellt wird, zu der sie gehört. Benutzer eines DBMS sollten sich nicht um solche Dinge kümmern müssen. Die Integrität der Daten liegt bei der Datenbank selbst, nicht bei den Anwendungen oder Benutzern, die sie verwenden. Ohne Einschränkungen und Auslöser und andere Funktionen in der Datenbank bleibt es den Anwendungen überlassen, die Regeln durchzusetzen, und es ist nur eine betrügerische oder fehlerhafte Anwendung / ein fehlerhafter Benutzer erforderlich, um die Daten zu zerstören.
Ohne Trigger wären beispielsweise wundersame Dinge wie automatisch generierte Spalten nicht vorhanden, und Sie müssten bei der Auswahl jeder Zeile eine Funktion verarbeiten. Dies beeinträchtigt wahrscheinlich die DBMS-Leistung. Es ist weitaus besser, die automatisch generierte Spalte beim Einfügen / Aktualisieren zu erstellen, da dies das einzige Mal ist, dass sie sich ändert.
Außerdem würde das Fehlen von Triggern verhindern, dass Datenregeln im DBMS erzwungen werden, z. B. Vor-Trigger, um sicherzustellen, dass Spalten ein bestimmtes Format haben. Beachten Sie, dass sich dies von Datenintegritätsregeln unterscheidet, bei denen es sich im Allgemeinen nur um Fremdschlüssel-Lookups handelt.