Ej Normalizacion Juan Glz

14
EJEMPLO DE NORMALIZACIÓN Juan Francisco González Reyes Instituto Tecnológico Superior de Lerdo ITSL

description

Un sencillo ejemplo de normalizacion paso por paso

Transcript of Ej Normalizacion Juan Glz

Page 1: Ej Normalizacion Juan Glz

EJEMPLO DE NORMALIZACIÓNJuan Francisco González ReyesInstituto Tecnológico Superior de LerdoITSL

Page 2: Ej Normalizacion Juan Glz

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

Page 3: Ej Normalizacion Juan Glz

PASO CERO

Page 4: Ej Normalizacion Juan Glz

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

Page 5: Ej Normalizacion Juan Glz

1FN (Primer Forma Normal)

Page 6: Ej Normalizacion Juan Glz

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

Page 7: Ej Normalizacion Juan Glz

1FN TABLA EN PRIMERA FORMA NORMAL CON ATRIBUTOS

INECESARIOS ELIMINADOS:

Artículo Descripción Existencia Proveedor Nom_cte

Dirección Edad Tel Fecha

Page 8: Ej Normalizacion Juan Glz

2FN (Segunda Forma Normal)

Page 9: Ej Normalizacion Juan Glz

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

Page 10: Ej Normalizacion Juan Glz

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

Page 11: Ej Normalizacion Juan Glz

3FN (Tercera Forma Normal)

Page 12: Ej Normalizacion Juan Glz

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

Page 13: Ej Normalizacion Juan Glz

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

Page 14: Ej Normalizacion Juan Glz

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