5. NORMALIZACIÓN - Introducción
• La normalización ayuda a clarificar la base de datos y a organizarla
en partes más pequeñas y más fáciles de entender.
• En lugar de tener que entender una tabla gigantesca y monolítica
que tiene muchos diferentes aspectos, sólo tenemos que entender
los objetos pequeños y más tangibles, así como las relaciones que
guardan con otros objetos también pequeños.
• Existen básicamente tres niveles de normalización:
– Primera forma normal (1FN)
– Segunda forma normal (2FN)
– Tercera forma normal (3FN)
Miguel Ángel Ávalos
6. Primera forma normal (1FN)
Establece que las columnas repetidas deben
eliminarse y colocarse en tablas separadas.
Miguel Ángel Ávalos
8. Segunda forma normal (2FN)
Establece que se debe eliminar cualquier columna no clave,
que no dependa de la clave principal de la tabla.
Esta tabla está en 2FN. Cualquier valor único de
NUM_FACTURA determina un sólo valor para cada columna.
Por lo tanto, todas las columnas son dependientes de la clave
principal NUM_FACTURA.
Esta tabla no se encuentra en 2FN, ya que las columnas
PRECIO y NOM_PRODUCTO son dependientes de
COD_PRODUCTO, pero no son dependientes de
NUM_FACTURA. Lo que se hace es eliminar estas columnas
de la tabla y crear una nueva con dichas columnas y la clave
principal de la que dependen.
Miguel Ángel Ávalos
9. 2FN – continuación …
Campos dependientes
de COD_PRODUCTO,
pero no son
dependientes de
NUM_FACTURA
Miguel Ángel Ávalos
11. Tercera forma normal (3FN)
Establece que se deben eliminar cualquier columna no clave,
que sea dependiente de otra columna no clave.
Campos dependientes de CED_CLIENTE
CED_CLIENTE no es la clave principal en esta tabla.
Para normalizar esta tabla, moveremos las columnas no clave y la columna
clave de la cual dependen dentro de una nueva tabla.
3FN
Miguel Ángel Ávalos
13. Tablas obtenidas hasta la tercera forma normal
FACTURA CLIENTE
ORDEN PRODUCTO
Miguel Ángel Ávalos
14. En resumen…
La normalización:
• Es una técnica que se utiliza para crear relaciones lógicas apropiadas.
• Ayuda a prevenir errores lógicos.
• Facilita la adición de nuevas columnas.
• Se lo efectúa a través de varios niveles de normalización.
• Cada nuevo nivel o forma nos acerca más a hacer una base de datos verdaderamente relacional.
• Puede ser suficiente, al llegar a la tercera forma normal.
• En exceso, puede conducir a tener una base de datos ineficiente.
Un balance apropiado de sentido común y práctico
puede ayudarnos a decidir cuándo normalizar.
Miguel Ángel Ávalos