Accede a todo EDteam con un único pago¡Sube a premium!

Triggers, qué son y para qué sirven

Cuando estas aprendiendo bases de datos, llega el momento de estudiar los Triggers, en este blog aprenderás lo necesario para entender como funciona un Trigger.

Diseño web
8 minutos
Hace 4 años
Triggers, qué son y para qué sirven

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.

https://edteam-media.s3.amazonaws.com/blogs/original/a0f5de14-036b-42af-9b65-d0c4b1927ebf.png

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:

https://edteam-media.s3.amazonaws.com/blogs/original/54da1306-26c9-4f8b-9ca1-0272d7e96e42.png

Con estos datos podemos acomodarlo en dos tablas:

https://edteam-media.s3.amazonaws.com/blogs/original/d1f9dcea-0c9d-4373-8c7a-e567a2dfbb75.png

Existe un jugador con los siguientes datos:

https://edteam-media.s3.amazonaws.com/blogs/original/a6ea59c6-e26b-4bf8-8c40-026fbdb72400.png

Durante el partido, al jugador con clave: 239, se le agrega una amonestación:

https://edteam-media.s3.amazonaws.com/blogs/original/4e539fc7-7a1a-436d-b523-bd59c54e830c.png

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:

https://edteam-media.s3.amazonaws.com/blogs/original/dc723344-d64d-46be-a7bc-71f367482818.png

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!

https://edteam-media.s3.amazonaws.com/blogs/original/47d1cf39-ff61-469c-a5e2-21b3c12b01aa.jpg

Comentarios de los usuarios

Pregunta a ChatEDT