Actividad 2
MANEJO DE FECHAS EN MYSQL
Para realizar la siguiente actividad:
1, Descargar el archivo adjunto a este mensaje y realizar lo que en él se explica
2. Guardar evidencia de la actividad desarrolla y publicar los resultados de los diferentes comandos y publicarlos con la base de datos resultante en una nueva página que se llame Actividad2
Éxitos...
Nota: enviar la dirección del sitio web de cada uno al correo javier.ospina@uniremington.edu.co
Introducción a los comandos para el manejo de Fechas Descargar del siguiente link la base de datos para practicar el manejo de fechas
www.dropbox.com/s/5x88heebw8tzj9k/cumple.sql?dl=0
Subconsultas:
Descargar el siguiente archivo para recordar el manejo de las subconsultas:
DESCARGAR Subc...ltas.txt
Clic en el siguiente link para descargar la base de datos:
¿Qué son los triggers en bases de datos?
Un trigger es un procedimiento almacenado especial que se asocia a una tabla o vista y se ejecuta automáticamente en respuesta a eventos de manipulación de datos (DML).
Un trigger (o disparador) es un objeto de base de datos que se ejecuta automáticamente cuando ocurre un evento específico sobre una tabla o vista.
Es decir, no lo ejecuta directamente el usuario, sino que se activa cuando sucede una acción como:
-
INSERT (inserción de datos)
-
UPDATE (modificación de datos)
-
DELETE (eliminación de datos)
Su función principal es automatizar reglas de negocio, validaciones o auditorías dentro de la base de datos.
Datos importantes a tener en cuenta
Cuando estudies o trabajes con triggers, debes considerar:
1. Momento de ejecución
Un trigger puede ejecutarse:
-
BEFORE → Antes de que ocurra la operación.
-
AFTER → Después de que ocurra la operación.
-
INSTEAD OF → Reemplaza la operación (común en vistas).
2. Evento que lo activa
-
INSERT
-
UPDATE
-
DELETE
Algunos motores también permiten:
-
Eventos DDL (CREATE, DROP, ALTER)
3. Nivel de ejecución
-
FOR EACH ROW → Se ejecuta por cada fila afectada.
-
FOR EACH STATEMENT → Se ejecuta una sola vez por sentencia.
4. Tablas virtuales (según el motor)
Muchos sistemas usan registros especiales como:
-
NEW → Contiene los nuevos valores.
-
OLD → Contiene los valores anteriores.
5. Consideraciones importantes
-
Pueden afectar el rendimiento si están mal diseñados.
-
Pueden generar recursividad si un trigger modifica la misma tabla.
-
Son útiles para:
-
Auditorías
-
Validaciones complejas
-
Mantener integridad
-
Automatizar cálculos
Sintaxis general para crear un trigger
La sintaxis puede variar según el sistema gestor (MySQL, PostgreSQL, SQL Server, Oracle), pero la forma general es:
CREATE TRIGGER nombre_trigger
{BEFORE | AFTER | INSTEAD OF}
{INSERT | UPDATE | DELETE}
ON nombre_tabla
[FOR EACH ROW]
BEGIN
-- Instrucciones SQL
END;
Ejemplo básico
Ejemplo: Crear un trigger que registre cambios en una tabla de empleados.
CREATE TRIGGER registro_cambios
AFTER UPDATE
ON empleados
FOR EACH ROW
BEGIN
INSERT INTO auditoria (empleado_id, fecha_cambio)
VALUES (OLD.id, CURRENT_TIMESTAMP);
END;