Curso de Fundamentos de Bases de Datos

Formas normales: cómo pasar de Excel caótico a tablas limpias

Curso de Fundamentos de Bases de Datos

Contenido del curso

Grabación

PlatziLearn

0:0016:48

Recursos

Resumen

Cuando recibes un Excel exportado desde algún sistema, lleno de columnas repetidas, datos inconsistentes y celdas vacías, estás frente a un problema clásico de diseño. La normalización es el proceso formal que permite transformar ese caos en un modelo relacional sólido, íntegro y libre de errores. Aquí se explica paso a paso cómo aplicar las tres primeras formas normales sobre datos reales, identificando cada violación y corrigiéndola hasta obtener un esquema profesional.

¿Qué es la normalización y por qué evita errores en tus datos?

Cuando diseñas una base de datos relacional, el objetivo principal es ordenar la información para que no se repita innecesariamente y no genere errores [0:18]. A ese proceso se le llama normalización, y las tres primeras formas normales son las reglas básicas para lograrlo.

Sin normalizar, actualizar los datos se vuelve riesgoso: cambias un valor en un lugar y olvidas otro, aparecen inconsistencias y se desperdicia espacio en memoria [1:15]. Normalizar garantiza que la base de datos mantiene su integridad incluso después de múltiples actualizaciones a lo largo del tiempo.

¿Qué exige la primera forma normal?

La primera forma normal establece la regla más simple: cada celda debe contener un solo valor [0:30]. Nada de listas ni grupos repetitivos dentro de una columna. En el ejemplo práctico, la tabla plana original tenía agrupaciones de datos donde un pedido contenía varios productos distribuidos en columnas separadas — producto uno, producto dos, producto tres — con muchas celdas vacías [3:18]. Eso viola directamente esta regla.

Para corregirlo se separaron los datos en dos tablas: una tabla de pedidos con la información de cabecera y una tabla de detalle de pedidos donde cada fila representa un solo producto vendido [5:50]. Así, el pedido 101 puede tener tres filas de detalle y el pedido 102 solo una, sin columnas vacías ni grupos.

¿Cómo funciona la segunda forma normal?

La segunda forma normal requiere que todos los atributos dependan completamente de la llave primaria, no de una parte de ella [0:40]. Esto cobra especial importancia cuando la clave es compuesta, como la combinación de pedido ID y producto ID.

En la tabla original, el mismo producto (por ejemplo, Laptop HP ProBook 450) aparecía con precios distintos en diferentes filas [4:05]. Esto generaba inconsistencias porque el precio de lista del producto no debería cambiar según el pedido. La solución fue crear una tabla independiente de productos con su ID, nombre, precio de lista y categoría [7:00]. En la tabla de detalle de pedidos se conservó únicamente el precio momento, es decir, el precio real al instante de la venta, que puede incluir descuentos o promociones [7:30].

¿Qué son las dependencias transitivas y cómo eliminarlas con la tercera forma normal?

La tercera forma normal busca eliminar todas las dependencias transitivas [0:55]. Un ejemplo claro: el código postal dependía del ID del cliente en la tabla original [5:05]. Si ese cliente se mudaba de ciudad, había que actualizar manualmente todos los registros asociados.

La corrección consistió en crear una tabla de códigos postales que depende de la ciudad, no del cliente [8:30]. La tabla de clientes pasó a contener solo el código postal como referencia, vinculándose con la nueva tabla. También se detectó una anomalía importante: la ciudad Buenos Aires aparecía escrita de dos formas distintas, una completa y otra abreviada [5:25]. Este tipo de error de tipeo genera problemas graves al momento de analizar datos, porque el sistema los trata como ciudades diferentes.

¿Cuál es el modelo final después de normalizar?

El resultado del proceso fue pasar de una sola tabla plana a siete tablas normalizadas [10:18]:

  • Códigos postales: ciudad y su código postal asociado.
  • Clientes: ID, nombre, apellido, correo y código postal.
  • Empleados: datos del empleado y su ID de sucursal.
  • Pedidos: ID, fecha, cliente, empleado que atendió y estado del pedido.
  • Detalle de pedidos: tabla intermedia de relación muchos a muchos entre pedido y producto, con cantidad, precio momento y descuento.
  • Productos: ID, nombre, precio de lista y categoría.
  • Categorías: estructura futura para análisis agregados.

Este modelo cumple con las tres formas normales y refleja exactamente lo que se había construido por intuición en clases anteriores, pero ahora con los nombres formales que lo respaldan [10:40].

¿Qué habilidades de diseño relacional se aplican en este proceso?

Todo el recorrido integra tres habilidades fundamentales [11:00]:

  • Crear entidades que se materializan en tablas con llaves primarias.
  • Establecer relaciones mediante la incorporación de llaves foráneas o la creación de tablas intermedias.
  • Normalizar al eliminar duplicados y dependencias incorrectas.

Cada paso construye sobre el anterior: sin entidades claras no hay relaciones posibles, y sin relaciones bien definidas la normalización pierde sentido. ¿Cuántos problemas de datos en tu trabajo actual serían evitables con un buen diseño relacional? Comparte en los comentarios ese Excel mal usado o esa tabla que genera errores constantes.

Formas normales: cómo pasar de Excel caótico a tablas limpias