Misión 2 · Lección 5
Normalización de Bases de Datos
Objetivos
- Comprender qué es la normalización y por qué es importante.
- Conocer las formas normales (1FN, 2FN, 3FN, BCNF).
- Aplicar reglas de normalización a un diseño de base de datos.
¿Qué es la Normalización?
Proceso de organizar los datos en una base de datos para:
- Reducir la redundancia de datos.
- Mejorar la integridad de los datos.
- Facilitar el mantenimiento.
1ª Forma Normal (1FN)
- Todos los campos deben ser atómicos (no repetitivos ni multivalorados).
- Cada registro debe ser único.
-- Incorrecto (teléfonos múltiples en una sola columna)
Cliente: Ana, Teléfonos: 123-456, 789-111
-- Correcto (tabla separada)
Cliente | Teléfono
Ana | 123-456
Ana | 789-111
2ª Forma Normal (2FN)
- Debe cumplir con 1FN.
- No debe haber dependencias parciales de una clave compuesta.
-- Incorrecto
(id_pedido, id_producto, nombre_producto, cantidad)
-- Correcto
Pedidos(id_pedido, fecha)
DetallePedido(id_pedido, id_producto, cantidad)
Productos(id_producto, nombre_producto)
3ª Forma Normal (3FN)
- Cumple 2FN.
- No debe haber dependencias transitivas (atributo depende de otro que no es clave primaria).
-- Incorrecto
(id_cliente, nombre, id_ciudad, nombre_ciudad)
-- Correcto
Clientes(id_cliente, nombre, id_ciudad)
Ciudades(id_ciudad, nombre_ciudad)
BCNF (Forma Normal de Boyce-Codd)
Es una versión más estricta de 3FN.
- Todas las dependencias funcionales deben estar en claves candidatas.
- Se aplica en casos especiales donde 3FN no es suficiente.
Ejemplo de Normalización
Tabla inicial:
Pedido | Cliente | Dirección | Producto | Precio
Normalizada:
- Clientes(id, nombre, dirección)
- Productos(id, nombre, precio)
- Pedidos(id, cliente_id)
- DetallePedido(pedido_id, producto_id, cantidad)
Ventajas de la Normalización
- Reduce redundancia.
- Mejora consistencia.
- Facilita actualizaciones y eliminaciones.
- Aumenta integridad referencial.
Posibles Desventajas
- Más tablas → consultas más complejas.
- Posibles impactos en el rendimiento en bases muy grandes.
- Puede requerir desnormalización en sistemas analíticos.
Ejercicio Guiado
- Analiza una tabla con redundancia.
- Identifica dependencias parciales y transitivas.
- Aplica 1FN, 2FN y 3FN paso a paso.