Ej Normalizacion Juan Glz
-
Upload
instituto-tecnologico-superior-de-lerdo -
Category
Education
-
view
6.113 -
download
2
description
Transcript of Ej Normalizacion Juan Glz
EJEMPLO DE NORMALIZACIÓNJuan Francisco González ReyesInstituto Tecnológico Superior de LerdoITSL
PROBLEMA
Se debe crear una BD para un negocio dedicado a la venta de Software y Hardware
La información relevante de las tablas debe ser sobre productos, clientes, facturas, inventario y ventas del día
PASO CERO
PROBLEMA
Se comienza con una colección de atributos necesarios para la administración del negocio
El proceso de normalización consiste en comprobar en secuencia si el esquema original está en 1FN, 2FN y 3FN, analizando las dependencias funcionales en cada paso.
Artículo Descripción Existencia Proveedor Nom_cte
Direccion
Edad Tel Estado civil Fech_nac Fecha Monto_compra
1FN (Primer Forma Normal)
1FN Una tabla está en 1FN si sus atributos contienen valores
atómicos. En el ejemplo, podemos ver que los atributos “Edad” ó
“Fecha_nac” apuntan a lo mismo y puede ser eliminado alguno de los dos sin repercutir en la información de la BD.
Pasa igual con “Estado Civil”: No es de carácter reelevante saber si el cliente está casado o soltero.
Artículo Descripción Existencia Proveedor Nom_cte
Direccion
Edad Tel Estado civil Fech_nac Fecha Monto_compra
1FN TABLA EN PRIMERA FORMA NORMAL CON ATRIBUTOS
INECESARIOS ELIMINADOS:
Artículo Descripción Existencia Proveedor Nom_cte
Dirección Edad Tel Fecha
2FN (Segunda Forma Normal)
2FNUna relación está en segunda forma normal si, y sólo si: Está en 1FN. Todos sus atributos que no son de la clave principal
tienen dependencia funcional completa respecto de todas las claves existentes en el esquema.
En otras palabras, se deben eliminar los atributos que pueden repetir registros como “Proveedor” o “Nombre” y crear otra tabla para cada tipo de entidad.
Artículo Descripción Existencia Proveedor Nom_cte Dirección Edad Tel Fecha
Puede haber un mismo proveedor en varios registros
2FN En nuestro caso quedarán 2 tablas resultantes
(Artículos y Clientes) identificadas en 1 tabla “Ventas”
Nota: cuando se separan atributos, se debe crear una referencia o un id del atributo (ej. Id_cliente)
Id_cte Nombre Apellidos Dirección Edad Tel
Id_articulo Descripción Existencia Proveedor Id_articulo Id_cte Monto FechaTabla Artículos Tabla Ventas
Tabla Clientes
3FN (Tercera Forma Normal)
3FNUna relación está en tercera forma normal si, y sólo si: Está en 2FN. Cada atributo que no está incluido en la clave primaria no
depende transitivamente de la clave primaria. Por lo tanto, a partir de un esquema en 2FN, tenemos
que buscar dependencias funcionales entre atributos que no estén en la clave
3FN En nuestro ejemplo, seguimos teniendo el problema de
que un proveedor puede repetirse en la tabla “artículos” y por tanto depende transitivamente de la clave primaria.
Igual pasa con “Monto” y “Fecha” de la tabla Ventas.
Id_cte Nombre Apellidos Dirección Edad Tel
Id_articulo Descripción Existencia ProveedorId_articulo Id_cte Monto Fecha
Tabla Artículos Tabla Ventas
Tabla Clientes
3FN Por tanto, nuestro ejercicio terminará con 5 tablas
resultantes normalizadas:
Id_cte Nombre Apellidos Dirección Edad Tel
Id_articulo Id_Proveedor Descripcion Existencia
Id_articulo Id_cte Id_factura
Tabla Artículos
Tabla Ventas
Tabla Clientes
Id_Proveedor
Nombre Contacto TeléfonoTabla Proveedores
Id_factura Id_articulo Monto FechaTabla Facturas