IOKELU
Nivel: Avanzado
💡 Registra eventos y cambios:
Puedes probar cualquier consulta de auditoría en nuestra consola interactiva: Abrir consola SQL →

Auditoría y logs en SQL: seguimiento profesional de cambios

La auditoría permite registrar cambios, accesos y eventos críticos en la base de datos. Es esencial para seguridad, cumplimiento normativo, trazabilidad y análisis forense.

1. ¿Qué es la auditoría?

Es el proceso de registrar cambios, accesos y eventos importantes en la base de datos.

2. Tipos de auditoría

3. Estructura de tabla de auditoría


CREATE TABLE auditoria (
    id INT AUTO_INCREMENT PRIMARY KEY,
    tabla VARCHAR(50),
    accion VARCHAR(20),
    usuario VARCHAR(50),
    fecha DATETIME,
    detalle TEXT
);
    

4. Auditoría con triggers


CREATE TRIGGER aud_ventas_insert
AFTER INSERT ON ventas
FOR EACH ROW
BEGIN
    INSERT INTO auditoria(tabla, accion, usuario, fecha)
    VALUES ('ventas', 'INSERT', USER(), NOW());
END;
    

CREATE TRIGGER aud_ventas_update
AFTER UPDATE ON ventas
FOR EACH ROW
BEGIN
    INSERT INTO auditoria(tabla, accion, usuario, fecha)
    VALUES ('ventas', 'UPDATE', USER(), NOW());
END;
    

5. Logs de acceso


CREATE TABLE accesos (
    id INT AUTO_INCREMENT PRIMARY KEY,
    usuario VARCHAR(50),
    consulta TEXT,
    fecha DATETIME
);
    

INSERT INTO accesos(usuario, consulta, fecha)
VALUES (USER(), 'SELECT * FROM ventas', NOW());
    

6. Ejemplos prácticos


-- Auditoría de eliminación
CREATE TRIGGER aud_delete
AFTER DELETE ON usuarios
FOR EACH ROW
BEGIN
    INSERT INTO auditoria(tabla, accion, fecha)
    VALUES ('usuarios', 'DELETE', NOW());
END;
    

-- Registro de errores
CREATE TABLE errores (
    id INT AUTO_INCREMENT PRIMARY KEY,
    mensaje TEXT,
    fecha DATETIME
);
    

7. Ejercicios para practicar

8. Mini‑proyecto: Sistema de auditoría empresarial


CREATE TRIGGER aud_productos
AFTER INSERT OR UPDATE OR DELETE ON productos
FOR EACH ROW
BEGIN
    INSERT INTO auditoria(tabla, accion, usuario, fecha)
    VALUES ('productos', 'cambio', USER(), NOW());
END;
    

9. Errores comunes

10. Preguntas frecuentes

¿La auditoría afecta el rendimiento?

Sí, pero es necesaria en sistemas críticos.

¿Debo auditar todo?

No, solo eventos importantes.


Siguiente guía

SQL Avanzado – Proyecto final →