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 

Obviamente la sentencia CREATE es conocida para crear nuevos objetos en la base de datos. Explicación de las partes de la definición: 

• DEFINER={usuario|CURRENT_USER}: Indica al gestor de bases de datos qué usuario tiene privilegios en su cuenta, para la invocación de los triggers cuando surjan los eventos DML. Por defecto esta característica tiene el valor CURRENT_USER que hace referencia al usuario actual que esta creando el Trigger. 

•Nombre_del_trigger: Indica el nombre del trigger. Por defecto existe una nomenclatura práctica para nombrar un trigger, la cual da mejor legibilidad en la administración de la base de datos. Primero, escriba el 5 nombre de tabla, luego especifique con la inicial de la operación DML y seguido usamos la inicial del momento de ejecución (AFTER o BEFORE). Por ejemplo: -- BEFORE INSERT clientes_BI_TRIGGER 

• BEFORE|AFTER: Especifica si el Trigger se ejecuta antes o después del evento DML. 

• UPDATE|INSERT|DELETE: Aquí elija que sentencia usa para que se ejecute el Trigger. 

• ON nombre_de_la_tabla: En esta sección establece el nombre de la tabla asociada. 

• FOR EACH ROW: Establece que el Trigger se ejecute por cada fila en la tabla asociada. 

Define el bloque de sentencias que el Trigger ejecuta al ser invocado. 

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
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar