← Volver

Normalización de Datos – Ejercicio Completo

Ejercicio Práctico: Normalización de Datos desde Cero (1FN → 3FN)

A continuación te muestro un ejemplo realista de cómo se normaliza una tabla desordenada y con redundancias para transformarla en un modelo de datos limpio, estructurado y listo para análisis.

1. Tabla original (sin normalizar)

VentaIDFechaClienteDirecciónCliente ProductosCompradosCantidadesPrecioTotal
12024-01-10Ana GarcíaAv. Lima 245 Laptop, Mouse1, 22500
22024-01-11Carlos RuizCalle 9 #123 Teclado1300
32024-01-10Ana GarcíaAv. Lima 245 Laptop12000

Problemas detectados

  • Productos y cantidades están en listas → violación de 1FN.
  • Cliente y dirección se repiten.
  • No existe relación clara entre venta → producto.
  • PrecioTotal depende de múltiples productos.

2. Primera Forma Normal (1FN): Datos Atómicos

VentaIDFechaCliente DirecciónClienteProductoCantidad
12024-01-10Ana GarcíaAv. Lima 245Laptop1
12024-01-10Ana GarcíaAv. Lima 245Mouse2
22024-01-11Carlos RuizCalle 9 #123Teclado1
32024-01-10Ana GarcíaAv. Lima 245Laptop1

Problemas restantes

  • El cliente sigue repitiéndose.
  • Los productos duplican filas.
  • PrecioTotal ya no aplica.
  • Persisten dependencias parciales.

3. Segunda Forma Normal (2FN): Eliminar dependencias parciales

Tabla Ventas

VentaIDFechaClienteID
12024-01-101
22024-01-112
32024-01-101

Tabla Clientes

ClienteIDNombreDirección
1Ana GarcíaAv. Lima 245
2Carlos RuizCalle 9 #123

DetalleVentas

VentaIDProductoCantidad
1Laptop1
1Mouse2
2Teclado1
3Laptop1

4. Tercera Forma Normal (3FN): Eliminar dependencias transitivas

Productos

ProductoIDNombrePrecioUnitario
1Laptop2000
2Mouse50
3Teclado300

DetalleVentas Actualizado

VentaIDProductoIDCantidad
111
122
231
311

5. Modelo final en 3FN

Tablas Finales

  • Ventas: VentaID (PK), Fecha, ClienteID (FK)
  • Clientes: ClienteID (PK), Nombre, Dirección
  • Productos: ProductoID (PK), Nombre, PrecioUnitario
  • DetalleVentas: VentaID (FK), ProductoID (FK), Cantidad

¿Qué logramos con esta normalización?

  • Se eliminaron las redundancias.
  • Los datos están separados por entidades claras.
  • Se resolvieron dependencias parciales y transitivas.
  • Modelo relacional limpio, robusto y escalable.
  • Permite reportes como ventas, ingresos, compras recurrentes.
whatsapp