1) Los disparadores ofrecen la mejor oportunidad para la integridad de los datos. A los DBA probablemente les gusten los disparadores por esa razón. Los desarrolladores front-end descubrirán que tienen menos control de esta manera, pero probablemente sea una compensación aceptable.
2) Realmente no lo sé. Supongo que los disparadores funcionarán mejor que los modelos, ya que los disparadores son nativos de la base de datos, pero realmente me gustaría saber de algunos DBA sobre este factor. En muchos casos, cualquier costo de rendimiento puede no ser suficiente para importar.
3) El uso de disparadores significa que el código ahora está en dos lugares. Un desarrollador podría olvidarse de mirar los disparadores cuando trabaje en el código de su modelo, o al menos no darse cuenta del impacto de cualquier disparador en su modelo.
- ¿Qué es lo mejor que has hecho con html / css?
- Para un B. Tech. Graduado de CSE que aún no ha comenzado a programar, ¿es bueno comenzar con Python y JavaScript? En caso afirmativo, ¿cuáles son los mejores libros para dominar Python y JavaScript en un nivel de principiante?
- ¿Hay alguna razón (excluyendo tener un gran conocimiento) para aprender jQuery además de un marco como Vue.js o React.js? ¿Se pueden combinar de alguna manera? En caso afirmativo, ¿es una buena práctica?
- ¿Cómo una colisión de certificado https SHA-1 hace que un sitio web sea inseguro?
- Cómo vincular Angular 2 v4 a Node.js
4) El uso de disparadores requiere un conocimiento más profundo de un segundo entorno de desarrollo más allá del lenguaje / marco de programación. También significa entrar en el ámbito del DBA, lo que podría causar conflictos en el equipo.
5) El uso de disparadores potencialmente encapsula el código de manera más limpia, lo que hace que el mantenimiento y el soporte sean menos costosos o difíciles.
El caso de uso A parece un buen lugar para los desencadenantes. El caso de uso B tiene las ventajas y desventajas mencionadas anteriormente.