¿Qué es un activador de base de datos?
Disparadores
Un disparador es un tipo especial de procedimiento almacenado. Cuando los datos en la tabla especificada se modifican usando una o más de las siguientes operaciones de modificación de datos, el disparador será efectivo: El disparador puede consultar otras tablas. Los activadores pueden consultar otras tablas y contener declaraciones SQL complejas. Los activadores se utilizan principalmente para ejecutar reglas o requisitos comerciales complejos. Por ejemplo, pueden controlar si se permite la inserción de pedidos en función del estado actual de la cuenta del cliente.
Los activadores también son útiles para exigir la integridad referencial, de modo que cuando se agregan, actualizan o eliminan filas en una tabla, se conserven las relaciones definidas entre las tablas. Sin embargo, la mejor manera de hacer cumplir la integridad referencial es definir restricciones de clave primaria y clave externa en tablas relacionadas. Si utiliza un diagrama de base de datos, puede crear relaciones entre tablas, creando automáticamente restricciones de clave externa.
Ventajas de usar disparadores
(1) Los disparadores son automáticos: después de cualquier modificación de los datos en la tabla (como entrada manual u operación realizada por la aplicación), el disparador activar inmediatamente.
(2) Los activadores pueden realizar cambios en cascada a través de tablas relacionadas en la base de datos. Por ejemplo, se puede escribir un activador de eliminación en la columna title_id de la tabla de títulos para provocar que se eliminen las filas coincidentes en otras tablas. Este activador utiliza la columna title_id como clave única para localizar cada fila coincidente en las tablas titleauthor, sales y roysched.
(3) Los desencadenantes pueden imponer restricciones más complejas que las restricciones CHECK. A diferencia de las restricciones CHECK, los activadores pueden hacer referencia a columnas en otras tablas. Por ejemplo, un activador podría revertir los intentos de aplicar descuentos en libros con un precio inferior a 10 dólares (almacenados en la tabla de títulos).