¿QUÉ ES LA NORMALIZACIÓN DE BASE DE DATOS Y POR QUÉ ES TAN IMPORTANTE?

La normalización de base de datos es uno de los conceptos fundamentales en el diseño de bases de datos relacionales. Se trata de un proceso de organización de los datos que busca eliminar redundancias, evitar inconsistencias y mejorar la eficiencia general del sistema. La b>normalización de base de datos consiste en estructurar la información de manera que cada dato se almacene una sola vez. De esta forma se reduce el riesgo de errores y se facilita el mantenimiento de la base de datos a lo largo del tiempo. La normalización se aplica en cualquier sistema de gestión de bases de datos relacionales, RDBMS,

¿Para qué sirve la normalización de base de datos?

Los objetivos principales son:
  • Evitar información duplicada: No repetir los mismos datos en múltiples registros.
  • Reducir errores: Al estar los datos en un solo lugar, es menos probable que se produzcan inconsistencias (por ejemplo, que el teléfono de un cliente aparezca diferente en dos registros).
  • Mantener los datos organizados: Mejora la estructura lógica de la base de datos.
  • Facilitar las actualizaciones: Si un dato cambia, solo hay que modificarlo en un único lugar

Las Formas Normales

La normalización de base de datos se aplica progresivamente a través de las formas normales:
  • Primera Forma Normal, o 1NF: Elimina grupos repetidos y valores múltiples en las columnas. Cada celda debe contener un solo valor atómico.
  • Segunda Forma Normal, o 2NF: Elimina dependencias parciales. Se requiere que la tabla ya esté en 1NF y que todos los atributos no clave dependan completamente de la clave primaria.
  • Tercera Forma Normal, o 3NF: Elimina dependencias transitivas. Los atributos no clave solo deben depender de la clave primaria, no de otros atributos no clave.
  • Forma Normal Boyce-Codd, o BCNF: Es una forma normal más estricta que la 3NF. Se considera una evolución o “refuerzo” de la 3NF, y su objetivo es eliminar ciertas anomalías que la 3NF no siempre resuelve, especialmente cuando una tabla tiene múltiples claves candidatas.
A medida que se avanza en estas formas, la base de datos se vuelve más limpia y eficiente.

Ejemplo

Ejemplo de normalización de una tienda virtual

Tabla sin normalizar

Lista de Pedidos

PedidoID Fecha Cliente Teléfono Productos Cantidad Precio Unitario
101 2026-07-20 Ana López 555-1234 Laptop, Mouse, Teclado 1, 2, 1 800, 25, 45
102 2026-07-21 Ana López 555-1234 Monitor 1 300
103 2026-07-22 Carlos Ruiz 555-5678 Laptop, Mochila 1, 3 800, 40

Primera Forma Normal - 1NF

Regla: Eliminar valores múltiples en una celda y crear filas separadas.

Lista de Pedidos

PedidoID Fecha Cliente Teléfono Producto Cantidad Precio Unitario
101 2026-07-20 Ana López 555-1234 Laptop 1 800
101 2026-07-20 Ana López 555-1234 Mouse 2 25
101 2026-07-20 Ana López 555-1234 Teclado 1 45
102 ... ... ... ... ... ...

Segunda Forma Normal - 2NF

Guarda los datos globales de cada orden. Su clave primaria es PedidoID

Lista de Pedidos

PedidoID Fecha Cliente Teléfono
101 2026-07-20 Ana López 555-1234
102 ... ... ...

Tabla detalles pedidos

PedidoID Producto Cantidad Precio Unitario
101 Laptop 1 800
101 Mouse 2 25
101 Teclado 1 45

Tercera Forma Normal - 3NF

Almacena la información única de cada comprador. Se añade un ClienteID como clave primaria.

Lista de Clientes

ClienteID Cliente Teléfono
1 Ana López 555-1234

Tabla de Productos (Productos)

Contiene el catálogo general de artículos y sus precios base. Se añade un ProductoID como clave primaria.

ProductoID Producto Precio Unitario
10 Laptop 800
11 Mouse 25
12 Teclado 45

Lista de Pedidos

Registra la cabecera de la venta. Vincula el pedido con el cliente mediante el ClienteID (clave foránea).

PedidoID Fecha ClienteID
101 2026-07-20 1
102 ... ...

Tabla de Detalles del Pedido (Pedido_Detalles)

Rompe la relación de muchos a muchos. Conecta los pedidos con los productos y registra las cantidades de esa venta específica.

PedidoID ProductoID Cantidad
101 10 1
101 11 2
101 12 1

Forma Normal de Boyce Codd

Tabla de Clientes (Clientes)

ClienteID Cliente Teléfono
1 Ana López 555-1234

Tabla de Productos (Productos)

ProductoID Producto Precio Actual
10 Laptop 800
11 Mouse 25
12 Teclado 45

Tabla de Pedidos (Pedidos)

PedidoID Fecha ClienteID
101 2026-07-20 1

Tabla de Detalles del Pedido (Pedido_Detalles)

PedidoID ProductoID Cantidad Precio Venta
101 10 1 800
101 11 2 25
101 12 1 45