4. Normalización: Poniendo Orden 🧹
El problema de repetir información
Imagina que en tu tabla de "Ventas" guardas el Nombre, Teléfono y Dirección del cliente junto con cada producto que compra. Si el cliente compra 10 veces, ¡sus datos personales se repiten 10 veces!
Esto se llama Redundancia, y causa dos grandes problemas: gasta espacio innecesario, y si el cliente cambia de teléfono, ¡tienes que actualizar 10 filas distintas! (Anomalía de actualización).
Las Formas Normales (1NF, 2NF, 3NF)
La Normalización es un conjunto de reglas (creadas también por Edgar Codd) para organizar las columnas y tablas y reducir la redundancia al mínimo.
1NF (Primera Forma Normal)
"No mezcles peras con manzanas en la misma celda". Cada celda de la tabla debe contener un valor atómico (indivisible) y no puede haber grupos de campos repetidos.
"555-123, 555-456".Bien: Guardar los teléfonos en una tabla separada o en filas distintas.
2NF (Segunda Forma Normal)
"Todo depende de la llave completa". Esta regla aplica cuando tu Primary Key está compuesta por dos o más columnas. Ningún atributo debe depender solo de una parte de esa llave. (Requiere cumplir la 1NF primero).
3NF (Tercera Forma Normal)
"Cero teléfono descompuesto". Ningún atributo normal puede depender de otro atributo normal. Si B depende de A, y C depende de B... ¡Alerta! C debería ir en otra tabla.
🎮 Desafío Rápido: El Dato Intruso
Tienes una tabla de Empleados(ID_Emp, Nombre, Dpto_ID, Nombre_Depto). ¿Qué rompería la Tercera Forma Normal (3NF) aquí?
👁️ Ver respuesta sugerida
El Nombre_Depto. Depende directamente del Dpto_ID (que no es la llave primaria del empleado). Para estar en 3NF, deberías sacar el Nombre_Depto a una nueva tabla llamada Departamentos.