Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Null PDF
Null PDF
y Normalización
(...o el arte de no redundar...)
Código Nombre
N Teléfono
Presta (CódDpto, CodServ, RIF, Fecha)
Empleado Nombre
Cédula
Base de Datos
Relacional
Relación Universal
Dependencias
Funcionales + R A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12
... ... ... ... ... ... ... ... ... ... ... ...
Producto
Cartesiano
RxQ
Producto
Natural
R |x|a,b Q
Selección
σa,b(R)
5
Proyección
∏placa, marca(Carro)
∏marca,modelo,color(Carro)
R placa marca
Q marca modelo color
MBO34L Ford
Ford Ka verde
LDA75K Toyota
Fiat siena gris
ADA89A Fiat
Toyota corollaXL blanco
LBF78G Toyota
Ford Ka rojo
XSA67D Ford 6
Producto Cartesiano
Carro = R x Q
R placa marca Q marca modelo color
ADA89A Fiat Fiat siena gris
LBF78G Toyota Toyota corollaXL blanco
XSA67D Ford Ford Ka rojo
R = σmarca=Ford(Carro)
Carro placa marca color
MBO34L Ford verde
R placa marca color
LDA75K Toyota blanco
MBO34L Ford verde
ADA89A Fiat gris
XSA67D Ford rojo
LBF78G Toyota blanco
XSA67D Ford rojo
R = σmarca=Ford Λ color=rojo(Carro)
Carro=R|x|marcaQ
13
Descomposición sin Pérdida
¿Y una descomposición
insuficiente?
14
Anomalías de Actualización
Prof_ Depto Cédula Nombre_ Prof Fecha_ Nac Código_ Depto Nombre_ Depto
9.980.623 Pedro Pérez 01/ 06/ 73 01 Computación
10.334.890 Luis García 01/ 06/ 76 02 Control
12.334.222 Mario Lobo 01/ 06/ 77 01 Computación
13.434.122 J osé Rivero 01/ 06/ 78 03 I nvestigación
13.566.002 Frank Chacón 01/ 12/ 78 NULL NULL
17.544.672 Miguel Bravo 01/ 06/ 84 02 Control
18.244.670 Andrés León 01/ 06/ 85 01 Computación
Prof_ Depto Cédula Nombre_ Prof Fecha_ Nac Código_ Depto Nombre_ Depto
9.980.623 Pedro Pérez 01/06/73 01 Computación
10.334.890 Luis García 01/06/76 02 Control
12.334.222 Mario Lobo 01/06/77 01 Computación
13.434.122 J osé Rivero 01/06/78 03 I nvestigación
13.566.002 Frank Chacón 01/12/78 NULL NULL
17.544.672 Miguel Bravo 01/06/84 02 Control
18.244.670 Andrés León 01/06/85 01 Computación
NUEVAMENTE:
¿Qué es normalizar una base de
datos?
Es llevar el esquema de la base de
datos a alguna de las formas
normales anteriormente
mencionadas
...y para eso, necesitamos conocer
y comprender el concepto de
“dependencia funcional” 21
Dependencias Funcionales
N M
Profesor Prof_Dpto Departamento
23
Dependencias Funcionales
Cédula Fecha_Nac Sexo Código_Depto Nombre_Depto
9.980.623 06/01/73 M 01 Computación
10.334.890 06/01/76 F 01 Computación
17.544.672 06/01/84 M 03 Investigación
12.334.222 06/01/77 M 02 Control
13.566.002 12/01/78 F 02 Control
10.334.890 06/01/76 F 02 Control
12.334.222 06/01/77 M 01 Computación
13.434.122 06/01/78 F 03 Investigación
13.566.002 12/01/78 F 03 Investigación
17.544.672 06/01/84 M 02 Control
18.244.670 06/01/85 M 01 Computación
Cédula Fecha_Nac
Codigo_Dpto Nombre_Dpto
Cédula Sexo
26
Dependencias Funcionales
Numero
Apellido Saldo
de Cuenta
Código Nombre
Nombre Cédula
Departamento Departamento
Código Nombre
Teléfono
Proyecto Proyecto
27
Dependencias Funcionales
●
Sea R(A1, A2, ..., An) y X y Y dos
subconjuntos del conjunto formado por {A1,
A2, ..., An}. Se dice que X→Y (X
implica a Y o Y depende funcionalmente de
X) si para toda extensión r de R y para toda
tupla t1 y t2 de r en la que
t1[X]=t2[X] implica que t1[Y]=t2[Y]
28
Dependencias Funcionales
d2
d1
d4
d5
29
Grafos / Redes de DF
marca
placa modelo
color
placa → marca
placa → modelo
placa → color
modelo → marca
30
Grafos / Redes de DFE
Ciudad
Código
Postal
Calle
Propiedades de las
Dependencias Funcionales
33
Propiedades de las Dependencias Funcionales
1.Reflexibidad:
Si Y ⊆ X ⇒ X → Y
A estas primeras
Ej: color → color, ó bien: (marca, modelo) → marca reglas se las con
como las reglas
2.Aumento: inferencia (o axio
de Armstrong
Si X → Y ⇒ XZ → YZ
Ej: modelo → marca ⇒ (modelo, color) → (marca, color)
3.Transitividad:
Si X → Y y Y → Z ⇒ X → Z
Ej: placa → modelo y modelo → marca ⇒ placa → marca
34
Propiedades de las Dependencias Funcionales
5.Unión:
Si X → Y y X → Z ⇒ X → YZ
Ej: placa → modelo y placa → marca ⇒
placa → (modelo, marca)
6.Pseudotransitividad:
Si X → Y y WY → Z ⇒ WX → Z
Ej: placa → modelo y (marca, modelo) → potencia ⇒
(marca, placa) → potencia
35
Propiedades de las Dependencias Funcionales
(RESUMEN)
1. Reflexibidad: 4. Descomposición:
Si Y ⊆ X ⇒ X → Y Si X → YZ ⇒ X → Y y X → Z
Ej: color → color, Ej: placa → (modelo, marca) ⇒
placa → modelo y placa → marca
(marca, modelo) → marca
5. Unión:
2. Aumento:
Si X → Y y X → Z ⇒ X → YZ
Si X → Y ⇒ XZ → YZ
Ej: placa → modelo y placa →
Ej: modelo → marca ⇒ (modelo, marca ⇒
color) → (marca, color) placa → (modelo, marca)
3. Transitividad: 6. Pseudotransitividad:
Si X → Y y Y → Z ⇒ X → Z Si X → Y y WY → Z ⇒ WX → Z
Ej: placa → modelo y modelo → Ej: placa → modelo y (marca,
marca ⇒ placa → marca modelo) → potencia ⇒
(marca, placa) → potencia
36
Descomposición sin Pérdida
Dependencias Funcionales
Elementales
37
Dependencias Funcionales Elementales (DFE)
C+ = {A→BC,
B→E, CD→EF,
CD→E, CD→F,
01) A →BC
A→EC, A→B,
02) B →E
A→C, AD→CD,
03) CD→EF
AD→C, AD→D,
AD→EF, AD→E,
AD→F}
43
Cierre Transitivo de un Conjunto de DF
A,E,F->B; A,B,F->C;
C,D,F->E; A,D,E->C;
A,E,F->C; A,B,F->E;
C,D->E; A,D,E->F;
A,F->B; A,B->C;
C,D->F; A,C,E,F->B;
A,F->C; A,B->E;
C,D,E->F; A,C,F->B;
A,F->E; A,B,E->C;
B,F->E; A,C,F->E;
A->B; A,B,D,F->C;
B->E; A,C->B;
A->C; A,B,D,F->E;
B,D,F->E; A,C->E;
A->E; A,B,D->C;
B,D->E; A,C,E->B;
A,E->B; A,B,D->E;
B,C,F->E; A,C,D,F->B;
A,E->C; A,B,D->F;
B,C->E; A,C,D,F->E;
A,D,F->B; A,B,D,E->C;
B,C,D,F->E; A,C,D->B;
A,D,F->C; A,B,D,E->F;
B,C,D->E; A,C,D->E;
A,D,F->E; A,B,C,F->E;
B,C,D->F; A,C,D->F;
A,D->B; A,B,C->E;
B,C,D,E->F; A,C,D,E->B;
A,D->C; A,B,C,D,F->E;
A,C,D,E,F->B; A,C,D,E->F;
A,D->E; A,B,C,D->E;
A,D,E,F->B; A,B,D,E,F->C;
A,D->F; A,B,C,D->F;
A,D,E,F->C; A,B,E,F->C;
A,D,E->B; A,B,C,D,E->F;
45
Cierre de un Conjunto de Atributos
resultado := X
mientras (cambios en resultado) hacer
para cada dependencia funcional A→B en C hacer
si A⊆resultado entonces resultado := resultado U B
46
Cierre de un Conjunto de Atributos
A+ = A
01) A →BC
A+ = A BC
02) B →E +
03) CD→EF A = A BC E
B+ = B
+
B = B E
Es decir, el cálculo de X+
se hace CD+ = CD
fundamentalmente por
+
Transitividad CD = CD EF
¿Cuál el cierre de C? ¿y el de D?
47
Clave de una Relación
49
Clave de una Relación
01) A →BC
R (A, B, C, D, E, F) + 02) B →E
03) CD→EF
¿Cuál es la clave
Recordando que:
A+ = A BC E
de la relación R?
B+ = B E revisar concepto
CD+ = CD EF anterior
... sigue ...
50
Clave de una Relación
01) A →BC
R (A, B, C, D, E, F) + 02) B →E
03) CD→EF
01) A →BC
R (A, B, C, D, E, F) + 02) B →E
03) CD→EF
B+ = B E ¿y ABCD?
CD+ = CD EF ¿y ABC?
¿y ACD?
52
Otro ejemplo...
53
Clave de una Relación
01) B →CD
02) D →E
R (A, B, C, D, E) + F = 03) B
04) E
→A
→C
05) AD →B
¿Está B→ E en F?
¿Es D una clave para R?
¿Es AD una clave para R?
¿Es ADE una super-clave o una clave candidata?
¿Es AD una super-clave o una clave candidata?
54
Cierre Transitivo de un Conjunto de DF
(Usando el cierre de un Conjunto de Atributos)
Se calcula el cierre de todos los posibles
R(A,B,C,D,E,F) conjuntos de atributos, Ej: {A}+, {B}+,
{C}+, {D}+, {E}+, {F}+, {AB}+, {AC}+,
{AD}+, {AE}+, {AF}+, {BC}+, {BD}+,
01) A →BC {BE}+, {BF}+, {CD}+, {CE}+, {CF}+,
02) B →E {DE}+, {DF}+, {EF}+, {ABC}+, {ABD}+,
03) CD→EF {ABE}+, {ABF}+, ..., ..., ..., ... hasta
llegar a {ABCDEF}+
55
Descomposición de una Relación
(Propiedades Deseables)
56
Descomposición de una Relación
(Descomposición de producto sin pérdida)
57
¿Se pierden dependencias?
d1
¿Será una
descomposición de
producto sin
pérdida?
d1
¿Se pierde
alguna DF?
d2
59
Descomposición de una Relación
(Descomposición de producto sin pérdida)
● R1∩R2 = Modelo
● Es decir que se debe cumplir que:
● ModeloISBN, Autor, Titulo (1)
o bien que...
● ModeloMatricula, Marca (2)
● Es decir, que las DFEs deducibles de (1) o
de (2) por descomposición se encuentren en
el cierre transitivo de las DFs asociadas a la
relación R. ¿Cómo podemos calcular eso en
base a d1 y d2 de la transparencia anterior?
60
Descomposición de una Relación
(Descomposición de producto sin pérdida)
●
Se puede calcular {Modelo}+ en base a d1 y
d2:
●
{Modelo}+={Modelo}
● De modo que el cierre de las DFs asociado a
R no contiene ninguna de las Dfs:
– ModeloISBN, Autor, Titulo (1)
– ModeloMatricula, Marca (2)
● Por lo tanto la descomposición NO ES de
producto sin pérdida.
61
Descomposición de una Relación
(Descomposición que preserva las DFs)
62
Descomposición sin pérdida
(que Preserva las DFs)
d1
Emp_ Proyecto Cédula CódigoP Horas Nombre_ Emp Nombre_ Pro Lugar_ Pro
d2
d3
Aquí se pierde la
dependencia
funcional d2
EP2 Cédula Nombre_Emp Horas
d3
65
Cobertura Mínima
67
1ra Forma Normal (1FN)
Atributo
Estudiante Cédula Nombre Apellido Curso Multivaluado
9.644.667 Pedro Pérez BD, I S
10.133.212 Gabriel Mendoza PRI , CA10
11.332.334 Luis Gonzales PRI I , SR10, EST1 No está en 1FN
14.126.112 Gilberto Zapata BD, I A (No es una
relación)
Hay grupos
repetitivos
d1
Emp_ Proyecto Cédula CódigoP Horas Nombre_ Emp Nombre_ Pro Lugar_ Pro
d2
d3 No está en 2FN
(Nombre_Pro,
Lugar_Pro y
Nombre_Emp
dependen
parcialmente de
la clave)
Empleado
Proyecto EP1 Cédula CódigoP Horas
(Vínculo) d2
Están en 2FN
EP2 Cédula Nombre_ Emp (Cada atributo no
Empleado primo depende
d3
totalmente de la
clave)
EP3 CódigoP Nombre_ Pro Lugar_ Pro
Proyecto
d1 71
3ra Forma Normal (3FN)
d2
Emp_ Depto Nom_ Emp Céd_ Emp Fecha_ N Dirección Código_ Dep Nom_ Dep Céd_ Ger
d1 No está en 3FN
(Nom_Dep,
Ced_Ger
depende
transitivamente
Empleado de Ced_Emp)
Están en 3FN
(Están en 2FN y
ED2 Código_ Dep Nom_ Dep Ced_ Ger ningún atributo
d2 depende de otro
Departamento de forma
transitiva) 73
Algoritmo de Descomposición en 3FN
Procedimiento Normalizar_3FN()
76
Juramento Final!
77
Forma Normal Boyce-Codd (FNBC)
d2 d3
Examen cédula_est código_mat cédula_prof nota
d1
d2 d3
Examen cédula_est código_mat cédula_prof nota
d1
No está en
FNBC (en
código_mat
depende de
cédula_prof que
no es primo)
d2
82
¿Dependencias Multivaluadas / 4FN?
Sigamos... 84
¿Dependencias Multivaluadas / 4FN?
86
Dependencias Multivaluadas
● Coincida con t1 y t2 en A.
● Coincida con t1 en B.
● Coincida con t2 en todos los atributos de R que no
pertenecen ni a A ni a B.
A B Otros
t1
t2
t3
87
Dependencias Multivaluadas
A B Otros
t1 Razonando un
poco, se puede
t2 llegar a la
t3
conclusión de que
si A-->>B luego
A-->>Otros
● Y no es vacío y es disjunto de X
90
4ta Forma Normal (4FN)
d1 d2 d3
Y además:
cédula ->> cod_asig
Eso implica que:
cédula ->> cod_deporte
¿Cómo se normaliza?
d1 d2 d3
d2 d3
d2 d3
d1
cód_asig
M
est_dep Asignatura
N desc_asig
Estudiante
N
cód_deporte
cédula nombre est_asig
M
Deporte
desc_deporte
cód_asig
M
Asignatura
desc_asig
N
Estudiante est_asig_dep
cód_deporte
cédula nombre M Deporte
desc_deporte
96
5ta Forma Normal (5FN)
Suministro Proveedor* Pieza* Proyecto* S_Prov_Pi Proveedor* Pieza* S_Prov_Proy Proveedor* Proyecto*
E1 PI3 PR2 E1 PI3 E1 PR2
E1 PI3 PR4 E1 PI6 E1 PR4
E1 PI6 PR2 E4 PI3 E4 PR2
E1 PI6 PR4 E4 PI6 E4 PR4
E4 PI3 PR2 E6 PI3 E6 PR2
E4 PI3 PR4 E6 PI6 E6 PR4
E4 PI6 PR2 E2 PI1 E2 PR1
E2 PI2 E2 PR3
E4 PI6 PR4
E5 PI1 E5 PR1
E6 PI3 PR2
E5 PI2 E5 PR3
E6 PI3 PR4
E3 PI4 E3 PR5
E6 PI6 PR2
E3 PI5 E3 PR6
E6 PI6 PR4 E7 PR5
E7 PI4
E2 PI1 PR1 E7 PI5 E7 PR6
E2 PI1 PR3
E2 PI2 PR1
E2 PI2 PR3
S_Pi_Proy Pieza* Proyecto*
E5 PI1 PR1
PI3 PR2
E5 PI1 PR3
PI3 PR4
E5 PI2 PR1 PI6 PR2
E5 PI2 PR3 PI6 PR4
E3 PI4 PR5 PI1 PR1
E3 PI4 PR6 PI1 PR3
E3 PI5 PR5 PI2 PR1
E3 PI5 PR6 PI2 PR3
E7 PI4 PR5 PI4 PR5
Resulta que:
S_Prov_Pi |X| S_Pi_Proy != Suministro
S_Prov_Pi |X| S_Prov_Proy != Suministro
S_Pi_Proy |X| S_Prov_Proy != Suministro
pero:
S_Pi_Proy |X| S_Pi_Proy |X| S_Prov_Proy = Suministro
Pieza
S_Prov_Pi S_Pi_Proy
rendimiento
cédula nombre código descripción
N M
Estudiante Est_Dep Deporte
rendimiento
cédula nombre código descripción
N M
Estudiante Est_Dep Deporte
d1
est_dep cédula código rendimiento nombre descripción
d2 d3
104
Conclusión
http://fplus.sourceforge.net/
106
Gracias
¡Gracias!
107