Nie, to naprawdę dobry pomysł. Jeśli występuje problem z konkretnymi wyzwalaczami, oznacza to, że nie robisz ich dobrze, ale zwykle oznacza to problem z implementacją, a nie samą koncepcję wyzwalaczy :-).
Bardzo często używamy wyzwalaczy, ponieważ umieszcza działanie specyficzne dla DBMS pod kontrolą bazy danych, do której należy. Użytkownicy DBMS nie powinni się martwić o takie rzeczy. Integralność danych zależy od samej bazy danych, a nie od aplikacji lub użytkowników, którzy z niej korzystają. Bez ograniczeń, wyzwalaczy i innych funkcji w bazie danych, egzekwowanie reguł należy do aplikacji, a zniszczenie danych wymaga tylko jednej nieuczciwej lub błędnej aplikacji / użytkownika.
Na przykład bez wyzwalaczy takie cudowne rzeczy, jak automatycznie generowane kolumny, nie istniałyby, a przy ich wybieraniu trzeba byłoby przetwarzać funkcję w każdym wierszu. Prawdopodobnie zabije to wydajność DBMS, znacznie lepiej jest utworzyć kolumnę generowaną automatycznie w czasie wstawiania / aktualizacji, ponieważ jest to jedyny czas, w którym się zmienia.
Ponadto brak wyzwalaczy uniemożliwiłby wymuszanie reguł danych w DBMS, takich jak wstępne wyzwalacze, aby kolumny miały określony format. Zauważ, że różni się to od zasad integralności danych, które są zwykle po prostu wyszukiwaniem kluczy obcych.