La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

22/09/2015Curso Bases de Datos1 Normalización Francisco Moreno.

Presentaciones similares


Presentación del tema: "22/09/2015Curso Bases de Datos1 Normalización Francisco Moreno."— Transcripción de la presentación:

1 22/09/2015Curso Bases de Datos1 Normalización Francisco Moreno

2 22/09/2015Curso Bases de Datos2 Normalización Es la técnica usada para diseñar “buenas” relaciones con el fin de minimizar: –cierto tipo de redundancia –el mantenimiento de los datos –el impacto de futuros cambios en los datos y en el ingreso de información Anomalías de inserción Anomalías de actualización y borrado

3 22/09/2015Curso Bases de Datos3 Anomalías Sea la relación: ENVÍO sede_ppalnit producto cantidad iva Med101 Leche 10 No Bog201Chorizo 29 Sí Med101 Yogur 12 Sí Med101Pasas 100 No Bog201Leche 12 No Bog201 Pasas 100 No Med128Chicha 10 No CP Nota: un producto tiene o no IVA (sin importar el proveedor que lo suministre)

4 22/09/2015Curso Bases de Datos4 Supóngase que un proveedor que suministra 100 productos cambia su sede principal, ¿qué implica esto? Supóngase que hay 50 proveedores de Leche y que esta se grava con IVA, ¿qué implica esto? ¿Qué pasa si se quiere ingresar un proveedor que todavía no ha suministrado algún producto? La misma pregunta anterior para un producto.

5 22/09/2015Curso Bases de Datos5 ¿Qué pasa si en el almacén ya no desean vender Chicha pero desean preservar la información del proveedor 128? ¿Qué pasa si en el almacén ya no desean negociar con el proveedor 128? ¿Qué pasa con la información del producto Chicha? ¿Cuántas veces dice la relación donde está la sede principal de cada proveedor? ¿Cuántas veces dice la relación si un producto tiene o no IVA?

6 22/09/2015Curso Bases de Datos6 Nótese que aunque esta relación representa el negocio, tiene aspectos que pueden ser inconvenientes. La idea de la normalización es diseñar relaciones que representen el negocio pero que al mismo tiempo eviten (en lo posible) aspectos (considerados anomalías en la normalización) como los anteriores.

7 22/09/2015Curso Bases de Datos7 Formas Normales Seis formas normales clásicas: 1NF, 2NF, 3NF, BCNF, 4NF, 5NF Mientras una relación esté en una forma normal más alta “mucho mejor”. En la práctica usualmente es suficiente analizar y llevar la normalización hasta la BCNF.

8 22/09/2015Curso Bases de Datos8 Formas Normales n n-1Si una relación satisface una forma normal n automáticamente satisface las n-1 formas normales anteriores, es decir, cada forma normal es “más fuerte” que sus predecesoras. El análisis de 2NF y 3NF se considera solo para relaciones con una sola clave candidata. Para relaciones con más de una clave candidata se aplica directamente BCNF.

9 22/09/2015Curso Bases de Datos9 Primera Forma Normal Una relación está en 1NF si los valores de sus atributos son atómicos*. Toda relación está en 1NF (de lo contrario no sería una relación). Es la forma normal más débil, la menos “exigente”. * Aunque el concepto de atomicidad es muy elusivo.

10 22/09/2015Curso Bases de Datos10 Primera Forma Normal Ejemplo.Sea PROVEEDOR con atributos: nit nombre sedes 1 Barbie {Cl 2 #1-3, Cl 30 #9-98} 2 Kitty {Av 5 #1-8, Cr 2 #3-2, Cr 1 #9-8} Si cada sede representa un valor semántico por sí mismo, entonces PROVEEDOR no es una relación y; por lo tanto, no está en 1NF.

11 22/09/2015Curso Bases de Datos11 Primera Forma Normal Solución: Relación SEDE dirección nitprov Cl 2 #1-3 1 Cl 30 #9-98 1 Av 5 #1-8 2 Cr 2 #3-2 2 Cr 1 #9-8 2 Relación PROVEEDOR nit nombre 1Barbie 2Kitty CP CF CP (acá se supone que dos proveedores no tienen su sede en la misma dirección, de lo contrario la CP sería compuesta)

12 Primera Forma Normal Nótese que en la relación SEDE se repite el nit del proveedor por cada dirección que este tenga; sin embargo, esto NO ES UN PROBLEMA DE NORMALIZACIÓN. 22/09/2015Curso Bases de Datos12

13 22/09/2015Curso Bases de Datos13 Segunda Forma Normal Una relación está en 2NF si y solo si está en 1NF y todos los atributos no clave* (si los hay) dependen funcionalmente por completo de la clave primaria. ¿Está la relación ENVÍO (diapositiva 3) en 2NF? Veamos: * Es decir, los que no hacen parte de la clave primaria.

14 22/09/2015Curso Bases de Datos14 Diagrama de DF completas para la relación ENVÍO producto nit sede_ppal iva cant

15 22/09/2015Curso Bases de Datos15 Como los atributos iva y sede_ppal no DF por completo de la CP, la relación no está en 2NF Solución: Con las “flechas conflictivas” (flechas rojas) se crean relaciones adicionales Por lo tanto, el proceso de normalización se puede considerar como una eliminación de “flechas conflictivas”

16 22/09/2015Curso Bases de Datos16 producto nit sede_ppal iva cant RelaciónENVÍOmodificada Nueva relación PRODUCTO EMPRESA producto nit Resultado de la partición

17 22/09/2015Curso Bases de Datos17 ¿Soluciona esta partición las anomalías mencionadas? ¿Están las relaciones resultantes en 2NF? ¿Los atributos producto y nit en la relación ENVÍO qué características deben poseer (aparte de conformar lar CP de ENVÍO)?

18 22/09/2015Curso Bases de Datos18 Tercera Forma Normal Una relación está en 3NF si y solo si los atributos no clave (si los hay): Dependen funcionalmente por completo de la CP Son mutuamente independientes (es decir, no hay DF entre ellos)

19 22/09/2015Curso Bases de Datos19 Sea la relación: MATRÍCULA cédulanom_aficiónvalor 10Música 100 20Pintura 200 30Música 100 40Pintura 200 50Bolos 100 Reglas del negocio: Cada persona solo puede elegir una afición El precio (valor) de la misma afición es igual para todas las personas Valor de la afición

20 22/09/2015Curso Bases de Datos20 ¿Qué inconvenientes puede tener la relación anterior? ¿Está en 2NF? ¿En 3NF? Veamos el diagrama: Dependencia entre atributos no clave cédulanom_afición valor

21 22/09/2015Curso Bases de Datos21 MATRÍCULA cédulanom_afición 10Música 20Pintura 30Música 40Pintura 50Bolos AFICIÓN nom_afición valor Música 100 Pintura 200 Bolos 100 CP CF Se hace la siguiente partición: Nótese que a diferencia de la relación anterior, aquí es posible insertar una afición que no haya sido elegida por los estudiantes.

22 22/09/2015Curso Bases de Datos22 ¿Desaparecen las anomalías analizadas en el nuevo esquema? El hecho de que en MATRÍCULA se repita el nombre de la afición por cada estudiante que la tome ¿es un problema de normalización?El hecho de que en MATRÍCULA se repita el nombre de la afición por cada estudiante que la tome ¿es un problema de normalización? ¿Qué pasaría si la partición se hiciese así: R1(cédula, nom_afición) y R2(cédula, valor) ? ¿Están en 3NF? ¿Qué pasaría si la partición se hiciese así: R1(cédula, valor) y R2(nom_afición, valor) ? ¿Están en 3NF?

23 22/09/2015Curso Bases de Datos23 BCNF Una relación está en BCNF si y solo si todo determinante es clave candidata Un determinante es un atributo del cual DF por completo otro atributo

24 22/09/2015Curso Bases de Datos24 Sea la relación: MATRÍCULA_SEMESTRE ced_estcarné materianota_def 10912Cálculo1.0 10912Historia1.9 10912Español2.9 20987Cálculo5.0 20987Química3.0 30965Español2.9

25 22/09/2015Curso Bases de Datos25 ¿Qué inconvenientes puede tener esta relación? ¿Cuáles son sus claves candidatas? Veamos el diagrama de DFs completas: carné ced_est materia nota_def

26 22/09/2015Curso Bases de Datos26 ¿Está en BCNF? ¿Cuáles son los determinantes? ¿Es cada uno de ellos una clave candidata? ¿Cómo se debe partir está relación?

27 22/09/2015Curso Bases de Datos27 4NF DMV: Dependencia Multivaluada. Dada una relación R con los atributos A, B y C, la DMV: A  > B Se cumple en R si y solo si el conjunto de valores de B correspondiente a un par dado (A, C) en R depende solo del valor de A y es independiente del valor de C. Pueden ser compuestos

28 22/09/2015Curso Bases de Datos28 Teorema del complemento. Sea una relación R(A, B, C) si se cumple que: A  > B entonces automáticamente se cumple: A  > C. Toda DF es una DMV pero no lo contrario Una relación está en 4NF si y solo si está en BCNF y todas las DMVs en R son de hecho DFs

29 22/09/2015Curso Bases de Datos29 Ejemplo. Z Sea la relación Z: cursoprofesortexto FísicaÑoñoMB FísicaÑoñoPO FísicaDinoMB FísicaDinoPO Mat.ÑoñoMB Mat.ÑoñoAV Mat.ÑoñoTR ¿Qué se quiere representar con esta relación? ¿Qué inconvenientes puede tener? ¿Cuál es su CP? ¿Está en BCNF?

30 22/09/2015Curso Bases de Datos30 Veamos, por ejemplo, si en Z se cumple: curso  > texto Dada la pareja (Física, Ñoño) el conjunto de textos correspondientes es {MB, PO}. Dada la pareja (Física, Dino) el conjunto de textos correspondientes es {MB, PO}. análogaSi se mira cual es el conjunto de textos correspondiente a Física (sin importar el profesor) el resultado es: {MB, PO}. En forma análoga para Mat.

31 22/09/2015Curso Bases de Datos31 curso  > texto Por lo tanto, curso  > texto y por el curso  > profesor teorema del complemento curso  > profesor. ¿Cómo se deber partir Z para lograr 4NF? Solución: R1(curso, texto) y R2(curso, profesor)

32 Otro ejemplo, sea la relación: codpréstamocedcliente dirciudad 110Cl 1#3-1Cali 1 10Cl 9#2-2Medellín 210Cl 1#3-1 Cali 2 10Cl 9#2-2 Medellín 235Cr 5#1-2Bogotá 235Cl 1#3-1Cali 235Av 1#8-9Cali 335Cr 5#1-2 Bogotá 335Cl 1#3-1 Cali 335Av 1#8-9 Cali 22/09/2015Curso Bases de Datos32

33 Supóngase que siempre que un préstamo se la hace a un cliente, este se registra con todas sus direcciones (dir y ciudad), entonces: cedcliente  > {dir, ciudad} cedcliente  > codpréstamo 22/09/2015Curso Bases de Datos33 B A C A


Descargar ppt "22/09/2015Curso Bases de Datos1 Normalización Francisco Moreno."

Presentaciones similares


Anuncios Google