Saltar al contenido
Explorar conocimiento

concepto · intermedio · 2 min de lectura

Normalización de Bases de Datos

La normalización organiza los datos en tablas relacionadas para eliminar redundancia, evitar anomalías de actualización y garantizar la integridad de los datos.

No requiere conocimientos previos.

Alcance en breve

Cubre

  • Normalización as a concept

No cubre

  • implementation details

Supone

  • The reader understands relevant fundamentals.

Resumen

La normalización es el proceso de estructurar una base de datos relacional para reducir la redundancia y mejorar la integridad. Consiste en aplicar formas normales sucesivas —1NF, 2NF, 3NF, BCNF— que imponen reglas cada vez más estrictas sobre cómo se organizan las columnas en tablas y cómo se relacionan entre sí.

La primera forma normal (1NF) exige que cada columna contenga valores atómicos —sin listas ni estructuras anidadas—. La segunda (2NF) elimina dependencias parciales: cada columna debe depender de la clave primaria completa. La tercera (3NF) elimina dependencias transitivas: una columna no debe depender de otra columna que no es clave. En la práctica, 3NF es el estándar para la mayoría de los sistemas OLTP.

Alcance y supuestos

Cubre las formas normales, su aplicación práctica y el equilibrio entre normalización y rendimiento. Asume familiaridad con bases de datos relacionales.

Modelo mental

Una planilla de Excel con datos de clientes y pedidos. Si un cliente cambia de dirección, hay que actualizarla en cada fila donde aparezca —riesgo de inconsistencia—. Normalizar es separar clientes y pedidos en dos hojas vinculadas por un ID: cambiás la dirección una sola vez.

Uso práctico

  • ✅ Sistemas OLTP con muchas escrituras y necesidad de integridad estricta.
  • ❌ Reportes analíticos: la normalización obliga a hacer JOINs costosos.

Ejemplo trabajado: de 2NF a 3NF

Tabla orders: {order_id, customer_id, customer_name, product_id, product_name}. customer_name depende de customer_id, no de order_id —viola 2NF—. product_name depende de product_id —viola 3NF—. Solución: separar en orders, customers y products.

Evidencia

  • Las formas normales fueron definidas por Edgar Codd en 1970 como parte del modelo relacional.

Fuentes citadas