📝

12. Mini-Proyecto: Sistema de Auditoria

Curso 4 Modulo 12/12 PostgreSQL 19
Progreso del curso 0/12
Programa SQL Medio 0/72 - 0%

Construye un sistema completo

Construye un sistema de auditoria completo:

CREATE TABLE audit_log ( id SERIAL PRIMARY KEY, tabla TEXT, operacion TEXT, datos_anteriores JSONB, datos_nuevos JSONB, usuario TEXT DEFAULT current_user, ts TIMESTAMPTZ DEFAULT now() );

�ˆï¸ Caja negra de la BD

Registra cada cambio: quien, que, cuando y como. Combina VIEWs, funciones y triggers.

🎯 ¿Qué aprenderás?

Alternativas y comparativa

12. Mini-Proyecto: Sistema de Auditoria es ideal cuando necesitas: (1) transformar datos sin perder filas, (2) calcular valores que dependen del contexto de otras filas, (3) simplificar consultas que de otra forma requerirían subconsultas complejas.

Alternativas a considerar: A veces una subconsulta simple, un JOIN o una CTE pueden lograr el mismo resultado. La clave es elegir la herramienta adecuada: 12. Mini-Proyecto: Sistema de Auditoria para casos específicos, CTEs para legibilidad, subconsultas para filtros simples.

La experiencia te enseñará cuándo usar cada enfoque. No hay una única respuesta correcta, pero hay soluciones más elegantes y eficientes que otras. El contexto y los datos determinan la mejor estrategia.

Regla general: Si una consulta se vuelve demasiado compleja, divídela en partes. Usa CTEs para claridad, vistas para reutilización, y funciones para lógica encapsulada.

Buenas prácticas en producción

Siempre prueba tus consultas con datos pequeños primero. Usa LIMIT para evitar procesar millones de filas mientras depuras. Una vez que la lógica funciona, quita el límite y verifica el rendimiento con EXPLAIN ANALYZE.

Documenta tus consultas con comentarios. Lo que hoy parece obvio, en 3 meses será un misterio. Un simple -- Objetivo: calcular X usando 12. Mini-Proyecto: Sistema de Auditoria puede ahorrar horas de debugging a tu yo del futuro.

Usa EXPLAIN ANALYZE para entender cómo PostgreSQL ejecuta tus consultas. Identificar cuellos de botella es la mejor habilidad que puedes desarrollar como desarrollador SQL. Presta atención a los costos y los tipos de scan.

No tengas miedo de refactorizar. Si una consulta se vuelve demasiado compleja, divídela en CTEs o usa una vista. El SQL legible es SQL mantenible. La claridad siempre gana a la "optimización prematura".

🎲 Proyecto de Auditoria

Marca todos los componentes necesarios:

¿Qué aprenderás?

  • Disenar un sistema de auditoria completo con vistas y triggers.
  • Implementar una vista que muestre cambios recientes con metadatos.
  • Crear funciones y triggers que automaticen el registro de cambios.
  • Validar la integridad del sistema de auditoria con casos de prueba.
📝

📝 Auditor Senior

Sistema de auditoria completo

c4m12

📌 Resumen del módulo