Non, c'est en fait une bonne idée. S'il y a un problème avec vos déclencheurs spécifiques, alors vous ne les faites pas correctement, mais cela signifie généralement qu'il y a un problème avec votre implémentation, pas le concept des déclencheurs eux-mêmes :-).
Nous utilisons beaucoup les déclencheurs car ils placent l'activité spécifique au SGBD sous le contrôle de la base de données à laquelle elle appartient. Les utilisateurs d'un SGBD ne devraient pas avoir à se soucier de ce genre de choses. L'intégrité des données réside dans la base de données elle-même, et non dans les applications ou les utilisateurs qui l'utilisent. Sans contraintes, déclencheurs et autres fonctionnalités dans la base de données, il appartient aux applications d'appliquer les règles et il suffit d'une application / d'un utilisateur non autorisé ou bogué pour détruire les données.
Par exemple, sans déclencheurs, des choses aussi merveilleuses que les colonnes générées automatiquement n'existeraient pas et vous auriez à traiter une fonction sur chaque ligne lors de leur sélection. Cela risque de tuer les performances du SGBD, il est préférable de créer la colonne générée automatiquement au moment de l'insertion / de la mise à jour, car c'est la seule fois où elle change.
En outre, l'absence de déclencheurs empêcherait l'application de règles de données au SGBD, telles que les pré-déclencheurs, pour garantir que les colonnes ont un format spécifique. Notez que cela est différent des règles d'intégrité des données qui ne sont généralement que des recherches de clés étrangères.