Hayır, aslında iyi bir fikir. Belirli tetikleyicilerinizle ilgili bir sorun varsa, bunları doğru yapmıyorsunuz, ancak bu genellikle uygulamanızla ilgili bir sorun olduğu anlamına gelir , tetikleyicilerin kavramı değil kendilerini :-).
DBMS'ye özgü etkinliği ait olduğu veritabanının denetimine yerleştirdiği için çok fazla tetikleyici kullanıyoruz. Bir DBMS kullanıcılarının bu tür şeyler için endişelenmeleri gerekmez. Verilerin bütünlüğü, onu kullanan uygulamalara veya kullanıcılara değil , veritabanının kendisine aittir. Veritabanındaki kısıtlamalar ve tetikleyiciler ve diğer özellikler olmadan, kuralları uygulamak için uygulamalara bırakılır ve verileri yok etmek için sadece bir haydut veya buggy uygulaması / kullanıcı gerekir.
Örneğin, tetikleyiciler olmadan, otomatik olarak oluşturulan sütunlar gibi harika şeyler mevcut olmaz ve bunları seçerken her satırda bir işlevi işlemeniz gerekir. Bu, DBMS performansını öldürme olasılığı yüksek, ekleme / güncelleme zamanında otomatik olarak oluşturulan sütunu oluşturmak çok daha iyi, çünkü değiştiği tek zaman bu.
Ayrıca, tetikleyicilerin olmaması, sütunların belirli bir biçime sahip olmasını sağlamak için ön tetikleyiciler gibi veri kurallarının DBMS'de uygulanmasını önler. Bunun genellikle yabancı anahtar aramaları olan veri bütünlüğü kurallarından farklı olduğunu unutmayın.