Normalizacion
Enviado por Jaiime • 3 de Junio de 2014 • 1.740 Palabras (7 Páginas) • 282 Visitas
NORMALIZACIÓN
Lo importante en el uso y manejo de bases de datos es evitar la redundancia de datos y garantizar un fácil acceso a la información y su actualización. Uno de los métodos que ayudan a que lo mencionado anteriormente ocurra, es la normalización de lo datos.
La normalización es un término que deriva de la metodología que se utiliza para evitar la redundancia de datos y el fácil acceso y actualización de estos. Dicha metodología fue enunciada por Codd. Cada forma normal fue numerada desde la 1º a la 5º, llamándose 1º forma normal, 2º forma normal… y así hasta la 5º forma normal.
Lo importante de esta metodología es que para que una relación esté en 2º FN, debe anteriormente estar en 1º FN, para llegar a 3º FN deberá pasar por 2º FN y así sucesivamente. Así lo que se garantiza es: que para llegar a cualquier forma, hay que pasar por las demás antes.
Antes de entrar a profundidad en dicho tema, debemos definir algunos conceptos que son fundamentales para su comprensión.
Dependencia Funcional
Se encuentra ligada a los conceptos matemáticos aplicados al concepto de función. Hagamos un poco de memoria y remontémonos a la secundaria a la clase de matemáticas donde nos explicaron el concepto de función el profesor(a) nos escribía un ejemplo como el siguiente:
y=3x + 2
Y pedagógicamente no decía que “y” estaba en función de “x” o más explícitamente nos decía que por cada valor diferente de “x” que diéramos íbamos a obtener un valor diferente de “y”.
Pendiente………….ver las 2 últimas paginas
Bien tenemos la relación VENTA con los siguientes atributos:
VENTA
IdFactura
CodProd
Descripción
Precio
Cantidad
IdCliente
NomCliente
Fecha
Algo que es importante tener claro es que el proceso de normalización, se aplica relación por relación (en el modelo relacional tabla por tabla).
1º Forma Normal
La 1º FN solicita que se cumplan 2 condiciones sobre la relación (entidad o tabla):
• Debe existir una clave primaria.
• Todos los dominios simples contienen únicamente valores atómicos.
De la clave primaria a estas alturas no hay que dar ninguna explicación. Con respecto a los valores atómicos quiere decir que una relación no puede contener grupos repetitivos o multivalorados.
Ejemplo:
Si vemos la siguiente relación, una venta realizada en una determinada fecha con un número de factura para un mismo cliente, por cada producto que compre el cliente, sucederá algo como lo que se ve en la siguiente tabla:
IdFactura CodProd Descripción Precio Cantidad IdCliente NomCliente Fecha
3 2 Martillo 20.40 15 878 Juan Pérez 22/10/06
3 5 Clavo 0.80 300 878 Juan Pérez 22/10/06
3 9 Taladro 120.00 2 878 Juan Pérez 22/10/06
3 15 Destornillador 7.50 8 878 Juan Pérez 22/10/06
Los dominios señalados con el verde turquesa, se repiten por cada aparición diferente de las demás tuplas o registros, esto es lo que llamamos redundancia de datos. No están cumpliendo con la segunda condición para llegar a 1º FN.
¿Cómo se soluciona esto? O mejor dicho ¿Cómo hacemos para que nuestra relación VENTA quede en 1º FN?
¿COMO LOGRAR QUE UNA RELACIÓN QUEDE EN 1º FN?
Para lograr que nuestra relación venta quede en 1º FN procedemos:
1. Eliminar de la relación original el o los atributos que no posean únicamente valores atómicos (los grupos repetitivos).
R= Eliminaremos de nuestra relación VENTA los siguientes atributos: CodProd, Descripción, Precio y Cantidad.
2. Seleccionar la clave primaria de la relación original.
R= Seleccionamos como clave primaria de la relación VENTA el atributo IdFactura.
3. Crear una nueva relación que posea los atributos que fueron eliminados de la relación original.
R= Definiremos una nueva relación con los siguientes atributos: CodProducto, Descripción, Precio y Cantidad.
4. El atributo que es la clave primaria en la relación original será parte o formará parte de la clave primaria de la nueva relación.
R= Agregaremos a la nueva entidad el atributo IdFactura que formará parte de la clave primaria de la nueva entidad.
5. Dar un nuevo nombre a la nueva relación y definir su clave primaria.
R= Definiremos la relación con el nombre DETALLE_VENTA y tomaremos como clave primaria de la relación a los atributos IdFactura y CodProd.
Como consecuencia de esto nos queda el modelo relacional como el que se muestra a continuación:
VENTA
CP IdFactura
IdCliente
NomCliente
Fecha
DETALLE_VENTA
CP
CP IdFactura
CodProd
Descripción
Precio
Cantidad
Las 2 entidades ya en 1º FN con sus atributos claves subrayados
VENTA
IdFactura IdCliente NomCliente Fecha
3 878 Juan Pérez 22/10/06
DETALLE_VENTA
IdFactura CodProd Descripción Precio Cantidad
3 2 Martillo 20.40 15
3 5 Clavo 0.80 300
3 9 Taladro 120.00 2
3 15 Destornillador 7.50 8
Dos entidades ya en 1º FN con sus respectivos valores derivados de las tuplas originales.
Ambas relaciones han quedado en 1º FN con sus correspondientes claves primarias definidas y se muestra como se preservan los datos en ambas tablas sin perdida de información con respecto a las tuplas de la entidad VENTA original.
2º Forma Normal
Para que una relación se encuentre en 2º FN debe satisfacer las siguientes condiciones:
• Debe estar en 1° FN.
• Todos los atributos no clave dependen funcionalmente de la clave primaria.
En nuestro ejemplo en cuestión la relación VENTA que estaba en 1º FN también se encuentra en 2º FN, pero la relación DETALLE_VENTA que se encuentra en 1º FN no se encuentra en 2º FN. Observe que el
...