IOKELU
Nivel: Avanzado
💡 Prueba estructuras desnormalizadas:
Puedes ejecutar cualquier consulta de desnormalización en nuestra consola interactiva: Abrir consola SQL →

Desnormalización en SQL: rendimiento a cambio de redundancia controlada

La desnormalización consiste en duplicar datos estratégicamente para mejorar el rendimiento en consultas. Se usa en sistemas de alta carga, analítica, dashboards y bases orientadas a lectura.

1. ¿Qué es la desnormalización?

Es el proceso de duplicar datos para evitar JOINs costosos y acelerar consultas de lectura.


-- Normalizado
ventas(id, cliente_id)
clientes(id, nombre)

-- Desnormalizado
ventas(id, cliente_id, cliente_nombre)
    

2. Cuándo usarla

3. Técnicas de desnormalización


CREATE MATERIALIZED VIEW ventas_resumen AS
SELECT cliente_id, COUNT(*) AS total
FROM ventas
GROUP BY cliente_id;
    

4. Ejemplos prácticos


-- Tabla desnormalizada para reportes
ventas_detalle(
    id,
    cliente_id,
    cliente_nombre,
    producto_nombre,
    categoria,
    fecha
)
    

-- Pre-cálculo de métricas
estadisticas(
    producto_id,
    ventas_totales,
    promedio_mensual
)
    

5. Ejercicios para practicar

6. Mini‑proyecto: Sistema de reportes optimizado


CREATE MATERIALIZED VIEW ventas_por_categoria AS
SELECT categoria, COUNT(*) AS total
FROM ventas
GROUP BY categoria;
    

7. Errores comunes

8. Preguntas frecuentes

¿La desnormalización mejora el rendimiento?

Sí, especialmente en consultas de lectura.

¿Genera inconsistencias?

Puede hacerlo si no se gestiona bien.


Siguiente guía

SQL Avanzado – Auditoría y logs →