Title: Normalizaci
1Normalización
2Normalizació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
3Normalizació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)
4Anomalí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.
8Formas 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)
9Formas 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).
10Primera 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.
11Primera 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.
12Primera 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)
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
13Primera 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).
14Segunda 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.
15Diagrama 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
17Resultado 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)?
19Tercera 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
22Se 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?
24BCNF
- 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?
284NF
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