Actividad 2
En el siguiente archivo podra encontrar el TXT para la actividad de fechas y vistas.
En el siguiente link podra encontrar la copia de seguridad de la BD.
¿Que es un trigger?
Un trigger es un objeto asociado a una tabla que es ejecutado cuando sucede un evento en la tabla propietaria. Son aquellas sentencias (INSERT, UPDATE, DELETE) que modifican los datos dentro de una tabla. Sólo puede haber un trigger de cada insert, update y delete por tabla o vista. Pero los triggers tienen una ventaja obvia. Es código que se ejecuta en el servidor de la base de datos, y no en la máquina cliente. Un Trigger o Disparador es un programa almacenado(stored programo SP), creado para ejecutarse automáticamente cuando ocurra un evento en una tabla o vista de la base de datos. Dichos eventos son generados por los comandos INSERT, UPDATE y DELETE, los cuales forman parte del DM2 (Data Modeling Language) de SQL.
Un Disparador nunca se llama directamente, en cambio, cuando una aplicación o usuario intenta insertar, actualizar, o anular una fila en una tabla, la acción definida en el disparador se ejecuta automáticamente (se dispara). Las ventajas de los triggers son varias:
1. La entrada en vigor automática de restricciones de los datos, hace que los usuarios entren sólo valores válidos.
2. El mantenimiento de la aplicación se reduce, los cambios a un disparador se refleja automáticamente en todas las aplicaciones que tienen que ver con la tabla sin la necesidad de recompilar o enlazar.
3. Logs automáticos de cambios a las tablas. Una aplicación puede guardar un registro corriente de cambios, creando un disparador que se active siempre que una tabla se modifique.
4. La notificación automática de cambios a la Base de Datos con alertas de evento en los disparadores. Decimos que los Triggers se invocan para ejecutar un conjunto de instrucciones que protejan, restrinjan, actualicen o preparen la información de las tablas, al momento de manipular la información.
Para crear triggers son necesarios los privilegios SUPER y TRIGGER.
¿QUÉ UTILIDADES TIENEN LOS TRIGGERS?
Con los Triggers implementamos varios casos de uso que mantengan la integridad de la tabla de la base de datos, como Validar información, Calcular atributos derivados, Seguimiento de movimientos de datos en tablas de la base de datos, etc. Cuando surja una necesidad para que se ejecute una acción implícitamente (sin ejecución manual) sobre los registros de una tabla, considera el uso de un Trigger.
SINTAXIS DE UN TRIGGER
Usamos la siguiente sintaxis:
CREATE [DEFINER={usuario|CURRENT_USER}] TRIGGER nombre_del_trigger {BEFORE|AFTER} {UPDATE|INSERT|DELETE} ON nombre_de_la_tabla FOR EACH ROW
Desarrollo en clase
En el siguiente archivo podra encontrar el ejemplo realizado en clase para la creacion de trigger con after.
Manejo de trigger con before
En el siguiente archivo podra encontrar el ejemplo realizado en clase para la creacion de trigger con before.
Dominguez, Jorge.(2015). MYSQL trigguers, funciones y procedimientos. IEASS, Editores. Url: https://d1wqtxts1xzle7.cloudfront.net/63721996/libro20200623-34870-yydv6o.pdf?1592959347=&response-content-disposition=inline%3B+filename%3DMySQL_Triggers_Funciones_y_Procedimiento.pdf&Expires=1709171359&Signature=ZgiOCJIo~tESFkAy7BntDAcBNqlJhk1w9c8T82ghZ2RE7BpG-4GYDSwOTagsFAb8vHRUSQJp1WqlHaY-YxpleYcIoItbZb5iL4zpm2amfRpov~3o9r7r~EAcYkWXA3YeApo8NpCALI3TsKyu7UdWmQ34esw1Rq0yliMoDe9-u5jchDsFaUOOuvqJDRaCYg-1zaqiaokMHR2OTmy5lN3TJwIkxB9u0Qgrmf7FZ6cuFCMHUTZFlUeHBcvbhBZAvAsNtVGh2h73bLWpk96LEOFU4c56vkhbLiSw71leUve7EG9ba1FEV0fBC26gdK1T8NNtoZXLLTpVQWm-Uh8iJ~pbow__&Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA