NormalizaciónConferencia IVMSc. Ing. Pavel González GarcíaPaveljesus@gmail.com                                  1
Normalización: ¿para qué sirve?   Para diseñar “buenas” relaciones     desde el punto de vista de:         Minimizar la r...
Normalización: ¿para qué sirve? La normalización consiste en descomponer   una relación de una BD en sub-relaciones. Las a...
Ejemplo de diseño inadecuado Redundancia de información: ciudad, distancia (ciudad);  precio (artículo). Anomalías de mo...
Principio básico de diseño: "hechos   distintos   se    deben  almacenar en objetos distintos"                 5
EjemploPERSONALCedula Nombre          Apellido    Cargo     Escalafón   Salario4325          Juan     García     Profesor ...
ANOMALIAS Anomalía de inserción: Para almacenar el salario de  un profesor de escalafón 3, es necesario que exista en  PE...
Ejercicio Supóngase la relación: ENVIO             CP     sede_ppal    nit producto    cantidad   con_iva     Med         ...
PREGUNTAS ¿ Suponga que hay 50 proveedores de  “leche” y que ésta se vuelve un producto  con IVA, que implicaciones trae ...
PREGUNTAS ¿Qué pasa si en el almacén ya no desean  vender chicha pero desean preservar la  información del proveedor 128?...
PREGUNTAS Todo lo anterior indica que aunque la relación  representa el negocio, posee muchos  problemas La idea de la n...
FORMAS NORMALES 6 formas normales clásicas:         1NF, 2NF, 3NF, BCNF, 4NF, 5NF Mientras una relación esté en una  for...
FORMAS NORMALES Si una relación cumple una forma normal n  automáticamente cumplirá las n-1 formas  normales anteriores, ...
PRIMERA FORMA NORMALDefinición:Una relación está en 1NF sii todos sus atributos  tienen valores atómicos     Suponiendo qu...
PRIMERA FORMA NORMAL Solución: crear una entidad adicional  y agregarla al esquema con relación  1:N26/03/2012           ...
Otro ejemploEMPLEADO Id       Nom        Apellido       Función                                    Facultad 12345    Demet...
Otro ejemplo  EMPLEADO  Id        Nom            Apellido    Función                                  Facultad  12345     ...
SEGUNDA FORMA NORMAL Una relación está en 2NF si y sólo si  está en 1NF y todos los atributos no  clave (si los hay) depe...
Diagrama de DF para la relaciónENVIO                producto                con_iva                  nit                  ...
Segunda Forma Normal Solución: Con las “flechas  conflictivas” (flechas de color rojo)  se crean relaciones adicionales ...
 Resultado de la partición:        R2   producto          con_iva             producto        R1                      can...
PREGUNTAS ¿Soluciona la partición las anomalías  mencionadas anteriormente? ¿Están las relaciones resultantes en  2NF?26...
TERCERA FORMA NORMALUna relación está en 3NF si y sólo si los  atributos no clave (si los hay) son: Mutuamente independie...
EJEMPLO Considérese la relación REGISTRO     cédula   hobbie      valor_hobbie     10       Música      100     20       ...
EJEMPLO ¿Qué problemas tiene la relación anterior? ¿Está en 2NF? ¿En 3NF? Veamos el  diagrama:             cédula       ...
Se realiza la siguiente partición:                              CF              R1:                             R2:       ...
PREGUNTAS ¿Desaparecen las anomalías en el nuevo  esquema? El hecho de que en matrícula se repita el  nombre del hobbie ...
Próxima SlideShare
Cargando en…5
×

Conferencia iv de Base de Datos

366 visualizaciones

Publicado el

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
366
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
4
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Conferencia iv de Base de Datos

  1. 1. NormalizaciónConferencia IVMSc. Ing. Pavel González GarcíaPaveljesus@gmail.com 1
  2. 2. Normalización: ¿para qué sirve? Para diseñar “buenas” relaciones desde el punto de vista de:  Minimizar la redundancia  Minimizar el mantenimiento de datos  Minimizar el impacto de futuros cambios de datos e ingreso de informaciónAnomalías de Anomalías deactualización Insercióny borrado 26/03/2012 2
  3. 3. Normalización: ¿para qué sirve? La normalización consiste en descomponer una relación de una BD en sub-relaciones. Las anomalías son a menudo debidas a una mala repartición de la información entre las relaciones CUIDADO:  La normalización tiene un impacto sobre! la eficiencia de la interrogación  La normalización puede traer perdida de información y de DF26/03/2012 3
  4. 4. Ejemplo de diseño inadecuado Redundancia de información: ciudad, distancia (ciudad); precio (artículo). Anomalías de modificación: !podemos tener el mismo artículo con dos precios! (igual argumento para ciudad y distancia).  inconsistencias Anomalías de inserción: ¿Podemos registrar nuevo artículo?, ¿Nuevo cliente?, ¿Nueva ciudad, distancia? Anomalías de borrado: Si eliminamos tupla de pedido de artículo A3 o cliente C4  pérdida de información. 4
  5. 5. Principio básico de diseño: "hechos distintos se deben almacenar en objetos distintos" 5
  6. 6. EjemploPERSONALCedula Nombre Apellido Cargo Escalafón Salario4325 Juan García Profesor 6 1.5898564 Mario López Profesor 9 2.0233698 Luis Pérez Profesor 5 1.3505874 Carlos Gómez Profesor 6 1.589 Una restricción del mundo real es: DF = {Cargo, Escalafón}  Salario 26/03/2012 6
  7. 7. ANOMALIAS Anomalía de inserción: Para almacenar el salario de un profesor de escalafón 3, es necesario que exista en PERSONAL un maestro de escalafón 3. Anomalía de modificación: la redundancia de la información en los profesores de escalafón 6 puede introducir problemas si el salario de esa categoría es modificado. Es necesario tener en cuenta que se debe modificar la tupla 1 y 6 anomalía de supresión : si el único profesor de escalafón 5 (respectivamente 9) cambia de escalafón se pierde la información sobre el salario de los profesores de escalafón 5 (respectivamente 9)26/03/2012 7
  8. 8. Ejercicio Supóngase la relación: ENVIO CP sede_ppal nit producto cantidad con_iva Med 101 Leche 10 No Bog 201 Chorizo 29 Si Med 101 Yogur 12 Si Med 101 Pasas 100 No Bog 201 Leche 12 No Bog 201 Pasas 100 No Med 128 Chicha 10 No26/03/2012 8
  9. 9. PREGUNTAS ¿ Suponga que hay 50 proveedores de “leche” y que ésta se vuelve un producto con IVA, que implicaciones trae esto? ¿ Qué pasa si queremos ingresar un proveedor que todavía no nos ha suministrado algún producto pero deseamos registrar sus datos? La misma pregunta anterior para un producto26/03/2012 9
  10. 10. PREGUNTAS ¿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 ENVIO dónde está situado cada proveedor? ¿Cuántas veces dice la relación ENVIO si un producto está gravado o no con IVA?26/03/2012 10
  11. 11. PREGUNTAS Todo lo anterior indica que aunque la relación representa el negocio, posee muchos problemas La idea de la normalización es “producir” relaciones que representen el negocio pero que al mismo tiempo eviten (en lo posible) anomalías como las anteriores26/03/2012 11
  12. 12. FORMAS NORMALES 6 formas normales clásicas: 1NF, 2NF, 3NF, BCNF, 4NF, 5NF Mientras una relación esté en una forma normal más alta “mucho ! mejor” Generalmente se acepta normalizar hasta BCNF Las formas normales 4 y 5 son casos “extremos”26/03/2012 12
  13. 13. FORMAS NORMALES Si una relación cumple una forma normal n automáticamente cumplirá las n-1 formas normales anteriores, es decir, cada forma normal es “más fuerte” que sus predecesoras. El análisis de 1NF, 2NF y 3NF está considerado sólo para relaciones con una sola clave candidata. Para relaciones con más de 1 clave candidata directamente se aplica BCNF26/03/2012 13
  14. 14. PRIMERA FORMA NORMALDefinición:Una relación está en 1NF sii todos sus atributos tienen valores atómicos Suponiendo que cada autor es un valor semántico de interés26/03/2012 14
  15. 15. PRIMERA FORMA NORMAL Solución: crear una entidad adicional y agregarla al esquema con relación 1:N26/03/2012 15
  16. 16. Otro ejemploEMPLEADO Id Nom Apellido Función Facultad 12345 Demetrio Ovalle {Director, Investigador, Profesor} Civil 67890 Fernando Arango {Investigador, Profesor} SistemasSolución 1 EMPLEADO no está en 1FNEMPLEADO Id Nom Apellido Función1 Función2 Funcion3 Facultad 12345 Demetrio Ovalle Director Investigador Profesor Civil 67890 Fernando Arango Investigador Profesor NULL SistemasProblemas de la solución 1: Ya está en 1NF •¿Que pasa si a Demetrio le asignan otra función? •Almacenamiento de valores nulos 26/03/2012 16
  17. 17. Otro ejemplo EMPLEADO Id Nom Apellido Función Facultad 12345 Demetrio Ovalle {Director, Investigador, Profesor} Civil 67890 Fernando Arango {Investigador, Profesor} Sistemas Solución 2 EMPLEADO Id Nom Apellido FacultadFUNCION_EMPLEADO 12345 Demetrio Ovalle Civil Id Función 67890 Fernando Arango Sistemas 12345 Director 12345 Investigador ¿Que pasa si a Demetrio le asignan otra función? Simplemente inserto una fila más en 12345 Profesor FUNCION_EMPLEADO 67890 Investigador 67890 Profesor 26/03/2012 17
  18. 18. SEGUNDA FORMA NORMAL Una relación está en 2NF si y sólo 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 (Diap. 7) en 2NF? Veamos:26/03/2012 18
  19. 19. Diagrama de DF para la relaciónENVIO producto con_iva nit cant sede_ppal Como los atributos con_iva y sede_ppal no tienen una DF completa de la CP, entonces la relación NO está en 2NF26/03/2012 19
  20. 20. Segunda Forma Normal Solución: Con las “flechas conflictivas” (flechas de color rojo) se crean relaciones adicionales El proceso de normalización puede verse como una eliminación de “flechas conflictivas”26/03/2012 20
  21. 21.  Resultado de la partición: R2 producto con_iva producto R1 cant nit R3 nit sede_ppal26/03/2012 21
  22. 22. PREGUNTAS ¿Soluciona la partición las anomalías mencionadas anteriormente? ¿Están las relaciones resultantes en 2NF?26/03/2012 22
  23. 23. TERCERA FORMA NORMALUna relación está en 3NF si y sólo si los atributos no clave (si los hay) son: Mutuamente independientes Dependen por completo de la CP26/03/2012 23
  24. 24. EJEMPLO Considérese la relación REGISTRO cédula hobbie valor_hobbie 10 Música 100 20 Pintura 200 30 Música 100 40 Pintura 200 50 Bolos 100 Cada persona sólo puede registrar un hobbie El precio de un mismo hobbie es igual para todas las personas26/03/2012 24
  25. 25. EJEMPLO ¿Qué problemas tiene la relación anterior? ¿Está en 2NF? ¿En 3NF? Veamos el diagrama: cédula hobbie Dependencia entre atributos no clave valor_hobbie26/03/2012 25
  26. 26. Se realiza la siguiente partición: CF R1: R2: Matricula Hobbie cédula hobbie nombre valor_hobbie 10 Música Música 100 20 Pintura Pintura 200 30 Música Bolos 100 40 Pintura Natación 100 50 Bolos CP CP26/03/2012 26
  27. 27. PREGUNTAS ¿Desaparecen las anomalías en el nuevo esquema? El hecho de que en matrícula se repita el nombre del hobbie por cada estudiante que lo tome ¿es un problema de normalización? ¿Qué pasa si la partición se hubiera hecho así: R1(cédula, hobbie) y R2(cédula, valor_hobbie) ? ¿Están en 3NF? ¿Qué pasa si la partición se hubiera hecho así: R1(cédula, valor_hobbie) y R2(hobbie, valor_hobbie) ? ¿Están en 3NF?26/03/2012 27

×