Ні, вони насправді хороша ідея. Якщо є проблеми з вашими конкретними тригерами, ви не робите їх правильно, але це означає, що існує проблема з вашою реалізацією, а не самою концепцією тригерів :-).
Ми дуже часто використовуємо тригери, тому що це передає специфічну для СУБД діяльність під контроль бази даних, де вона належить. Користувачі СУБД не повинні турбуватися про такі речі. Цілісність даних лежить у самій базі даних, а не у додатках чи користувачах, які її використовують. Без обмежень та тригерів та інших функцій у базі даних, додатки залишаються за дотриманням правил, і для того, щоб знищити дані, потрібно лише одне шахрайське або помилкове додаток / користувача.
Наприклад, без пускових механізмів таких дивовижних речей, як стовпці, автоматично створені, і вам доведеться обробляти функцію в кожному рядку під час їх вибору. Це, ймовірно, знищить продуктивність СУБД, набагато краще створити стовпчик, що автоматично створюється, на час вставлення / оновлення, оскільки це єдиний раз, коли він змінюється.
Крім того, відсутність тригерів запобігає виконанню правил даних у СУБД, таких як попередні тригери, щоб колонки мали певний формат. Зауважте, що це відрізняється від правил цілісності даних, які, як правило, є лише зовнішніми переглядами.