Introducción a los Triggers
Los Triggers o disparadores son reglas que maneja un DBMS o Sistema Manejador de Bases de Datos.
Podemos definirlo como: "Procedimiento que se ejecuta cuando sucede algún evento ".
Es importante aclarar que para el evento se deben considerar dos cosas:
- Tiempos
- Acciones
Para el tiempo es necesario saber si queremos que el procedimiento funcione ANTES o DESPUÉS del evento.
Para las acciones es necesario saber si queremos que el procedimiento realice una INSERCIÓN, ELIMINACIÓN o MODIFICACIÓN.
Veamos un ejemplo que explique de forma fácil como funciona un Trigger
"En un partido de fútbol se tiene en cuenta que un jugador al tener una amonestación su estatus cambiara a Expulsado"
Este texto lo podemos acomodar de la siguiente forma:
MODIFICA el status del jugador a Expulsado, DESPUÉS de que se le AGREGUE una amonestación.
Los datos que tenemos son los siguientes:
Con estos datos podemos acomodarlo en dos tablas:
Existe un jugador con los siguientes datos:
Durante el partido, al jugador con clave: 239, se le agrega una amonestación:
Al momento que se agregó la amonestación, el trigger comienza a funcionar, recordando el texto del trigger:
MODIFICA el status del jugador a Expulsado, DESPUÉS de que se le AGREGUE una amonestación.
Por lo que se procede a modificar el status del jugador:
Como se pudo observar, gracias al trigger se realizo el cambio de forma automática y esto cumple con el objetivo de los Triggers que es Mejorar la gestión de la base de datos.
Si no hubiéramos empleado el Trigger y queremos que suceda lo mismo, se tendría que hacer estos cambios manualmente, en este ejemplo hacerlo manualmente en bases de datos es muy sencillo porque solo es un jugador que se modificó. Pero, ¿qué pasaría si no solo es un jugador, si son muchos o se modifican más campos en una tabla?
Esto podría generar errores si no se tiene cuidado, sería mas laborioso y llevaría un mayor tiempo hacer todos los cambios.
Por lo que si se tiene un Trigger que hace el cambio de estatus, solo nos preocuparíamos por agregar amonestaciones.
Si quieres aprender más sobre Triggers, en nuestro curso de PostgreSQL te lo explicamos más a fondo. Ingresa a https://ed.team/cursos/postgresql y, ¡accede a la primera clase gratis!