Normalizaci - PowerPoint PPT Presentation

About This Presentation
Title:

Normalizaci

Description:

Normalizaci n Francisco Moreno * Curso Bases de Datos * – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 35
Provided by: Francis268
Category:

less

Transcript and Presenter's Notes

Title: Normalizaci


1
Normalización
  • Francisco Moreno

2
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 su ingreso

Anomalías de actualización y borrado
Anomalías de inserción
3
Normalización
  • Nota hoy en algunas aplicaciones se sigue una
    política de poca normalización. En tal caso, se
    debe estar siempre consciente de las posibles
    anomalías a las que esto puede conllevar.
  • Antes de tomar la decisión de adoptar una
    política como la anterior, se debe dominar el
    proceso de normalización.
  • El objetivo del curso es el diseño de bases de
    datos con un alto grado de normalización (mínimo
    BCNF ? ver más adelante)

4
Anomalías
Nota un producto tiene o no IVA (sin importar el
proveedor que lo suministre)
  • Sea la relación
  • ENVÍO
  • sede_ppal NIT producto cantidad IVA
  • Med 101 Leche 10 No
  • Bog 201 Chorizo 29 Sí
  • Med 101 Yogur 12 Sí
  • Med 101 Pasas 100 No
  • Bog 201 Leche 12 No
  • Bog 201 Pasas 100
    No
  • Med 128 Gato 1 No

CP
5
  • Supóngase que un proveedor que suministra 100
    productos (distintos) 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.

6
  • Qué pasa si en el almacén ya no desean vender
    Gato pero desean preservar los datos del
    proveedor 128?
  • Qué pasa si en el almacén ya no desean negociar
    con el proveedor 128? Qué pasa con los datos del
    producto Gato?
  • 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?

7
  • 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.

8
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.

Hay otras EKNF (Elementary key NF), DKNF
(Domain-key NF), 6NF y recientemente ETNF
(Essential tuple NF o 4.5NF)
9
Formas Normales
  • Si 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 (BCNF también es
    aplicable para relaciones con una sola clave
    candidata).

10
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.
11
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.

12
Primera Forma Normal
CP (acá se supone que dos proveedores no tienen
su sede en la misma dirección, de lo contrario la
CP sería compuesta)
  • Solución

Relación SEDE dirección idprov 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 1 Barbie 2 Kitty
CF
CP
13
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.
  • De hecho SEDE está altamente normalizada (incluso
    está en 5NF al igual que PROVEEDOR).

14
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 4) en 2NF?
    Veamos

Es decir, los atributos que no hacen parte de
la clave primaria.
15
Diagrama de DF completas para la relación ENVÍO
producto
IVA
cant
NIT
sede_ppal
16
  • Como los atributos IVA y sede_ppal no dependen
    funcionalmente 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

17
Resultado de la partición
Nueva relación PRODUCTO
IVA
producto
producto
Relación ENVÍO modificada
cant
NIT
Nueva relación EMPRESA
NIT
sede_ppal
18
  • 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)?

19
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)

20
  • Sea la relación
  • MATRÍCULA
  • cédula nom_afición valor
  • 10 Música 100
  • 20 Pintura 200
  • 30 Música 100
  • 40 Pintura 200
  • 50 Bolos 100
  • Reglas del negocio
  • Cada persona solo puede elegir una afición
  • El precio (valor) de la misma afición es el mismo
    para todas las personas

Valor de la afición
21
  • Qué inconvenientes puede tener la relación
    anterior?
  • Está en 2NF? En 3NF? Veamos el diagrama

cédula
nom_afición
Dependencia entre atributos no clave
valor
22
Se hace la siguiente partición
CF
  • MATRÍCULA
  • cédula nom_afición
  • 10 Música
  • 20 Pintura
  • 30 Música
  • 40 Pintura
  • 50 Bolos
  • AFICIÓN
  • nom_afición valor
  • Música 100
  • Pintura 200
  • Bolos 100

CP
CP
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.
23
  • 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?
  • 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?

24
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

25
  • Sea la relación
  • MATRÍCULA_SEMESTRE
  • ced_est carné materia nota_def
  • 10 912 Cálculo 1.0
  • 10 912 Historia 1.9
  • 10 912 Español 2.9
  • 20 987 Cálculo 5.0
  • 20 987 Química 3.0
  • 30 965 Español 2.9

26
  • Qué inconvenientes puede tener esta relación?
  • Cuáles son sus claves candidatas?
  • Veamos el diagrama de DFs completas

carné
nota_def
materia
ced_est
27
  • Está en BCNF?
  • Cuáles son los determinantes? Es cada uno de
    ellos una clave candidata?
  • Cómo se debe partir está relación?

28
4NF
Pueden ser compuestos
  • DMV Dependencia Multivaluada.
  • Dada una relación R con los atributos A, B y C,
  • la DMV
  • A ?gt 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.

29
  • Teorema del complemento. Sea una relación R(A, B,
    C) si se cumple que
  • A ? gt B entonces automáticamente se cumple
  • A ? gt C.
  • Una DF es una DMV pero una DMV no necesariamente
    es una DF
  • Una relación está en 4NF si y solo si está en
    BCNF y todas las DMVs en R son de hecho DFs

30
  • Ejemplo.
  • Sea la relación Z
  • curso profesor texto
  • Física Ñoño MB
  • Física Ñoño PO
  • Física Dino MB
  • Física Dino PO
  • Mat. Ñoño MB
  • Mat. Ñoño AV
  • Mat. Ñoño TR

Qué se quiere representar con esta
relación? Qué inconvenientes puede tener? Cuál
es su CP? Está en BCNF?
31
  • Veamos, por ejemplo, si en Z se cumple
  • curso ?gt 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.
  • Si 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.

32
  • Por lo tanto, curso ?gt texto y por el
  • teorema del complemento curso ?gt profesor.
  • Cómo se debe partir Z para lograr 4NF?
  • Solución R1(curso, texto) y
  • R2(curso, profesor)

33
  • Otro ejemplo, sea la relación
  • codpréstamo cedcliente dir ciudad
  • 1 10 Cl 13-1 Cali
  • 1 10 Cl 92-2 Medellín
  • 2 10 Cl 13-1 Cali
  • 2 10 Cl 92-2 Medellín
  • 2 35 Cr 51-2 Bogotá
  • 2 35 Cl 13-1 Cali
  • 2 35 Av 18-9 Cali
  • 3 35 Cr 51-2 Bogotá
  • 3 35 Cl 13-1 Cali
  • 3 35 Av 18-9 Cali

34
  • Supóngase que siempre que un préstamo se le hace
    a un cliente (se permiten préstamos compartidos),
    este se registra con todas sus direcciones (dir y
    ciudad), entonces
  • cedcliente ?gt dir, ciudad
  • cedcliente ?gt codpréstamo

B
A
A
C
Write a Comment
User Comments (0)
About PowerShow.com