Saltar al contenido
Explorar conocimiento

concepto · intermedio · 2 min de lectura

Desnormalización

La desnormalización introduce redundancia controlada en una base de datos para acelerar consultas, sacrificando algo de integridad y espacio a cambio de menos JOINs y mejor rendimiento de lectura.

No requiere conocimientos previos.

Alcance en breve

Cubre

  • Desnormalización as a concept

No cubre

  • implementation details

Supone

  • The reader understands relevant fundamentals.

Resumen

La desnormalización es el proceso inverso a la normalización: deliberadamente duplicás datos o combinás tablas para reducir la cantidad de JOINs necesarios en las consultas. Si una query de reporte necesita hacer 5 JOINs entre tablas normalizadas y tarda 10 segundos, desnormalizar —crear una tabla pre-joinada o agregar columnas redundantes— puede bajarla a 50 milisegundos.

El costo es espacio adicional y el riesgo de inconsistencia: si el mismo dato existe en dos lugares, hay que actualizarlo en ambos. La desnormalización no es una decisión de diseño inicial: es una optimización que aplicás cuando mediste que los JOINs son el cuello de botella.

Alcance y supuestos

Cubre desnormalización como técnica de optimización, sus trade-offs y su rol en data warehouses. Asume familiaridad con normalización.

Modelo mental

Un resumen ejecutivo versus el archivo completo. El archivo completo está normalizado: cada documento en su carpeta. El resumen está desnormalizado: los datos clave de 20 documentos en una sola página. Leer el resumen es instantáneo, pero si cambiás un documento, tenés que actualizar el resumen.

Uso práctico

  • ✅ Reportes, dashboards, catálogos de productos.
  • ❌ Tablas con muchas escrituras: mantener la redundancia actualizada es costoso.

Ejemplo trabajado: tabla de reporte desnormalizada

En vez de SELECT ... FROM orders JOIN customers JOIN products JOIN payments, creás una tabla order_summary que repite customer_name, product_name y payment_status. Se actualiza vía trigger o batch. El reporte lee una sola tabla.

Evidencia

  • La desnormalización es una práctica estándar en data warehouses (esquemas estrella) y en aplicaciones con lecturas mucho más frecuentes que escrituras.

Fuentes citadas