Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Dados:
R= (A,B,C,D,E)
F= {A->B, B->D, CD->E, E->C}
Se pide:
a) Hallar las claves
b) Indicar en qu FN se encuentra R
c) Hallar una descomposicin de R en FNBC que sea SPI
d) La descomposicin hallada es SPDF?
Solucin:
a)
A no est en ningn lado derecho y entonces debe ser parte de toda clave
A+= ABD
Probamos con: AB, AC, AD, AE
AB+= ABD
AC+= ACBDE
AD+= ADB
AE+= AEBDC
CLAVE
CLAVE
b)
Los atributos primos son: ACE
No cumple con FNBC porque todas las dependencias funcionales violan la FNBC
No cumple con 3FN porque A->B y B->D violan la 3FN
No cumple con 2FN porque A-->B viola la 2FN (B depende parcialmente de una de
las claves)
Por lo tanto slo cumple con la 1FN (todo esquema relacional cumple con 1FN por
definicin)
R est en 1FN
c)
ABCDE
B->D
BD
ABCE
A->B
AB
ACE
E->C
EC
AE
d)
A->B, B->D, E->C se preservan trivialmente,
Hay que verificar CD->E (queda pendiente, hay un algoritmo que veremos en la prxima
clase)
Para afirmar que es SPDF debemos probar que se preservan todas las dependencias
Ejercicio 2:
Dados:
R(A,B,C,D,E,F,G,H)
AB -- > HG
B -- > D
BD -- > C
E -- > GC
F -- > DBE
H -- > G
Se pide:
a) Hallar las claves
b) Indicar en qu FN se encuentra R
c) Hallar una cobertura minimal para el conjunto de dependencias dado
d) Hallar una descomposicin de R en 3FN que sea SPI y SPDF
Solucin:
a)
A y F no estn en ningn lado derecho y deben estar en toda clave
AF+= AFDBEHGC
Clave: AF
y es la nica
b)
F --> DBE, DBE no son primos y dependen parcialmente de la clave
R no cumple con la 2FN
(si no cumple con 2FN entonces no cumple con 3FN, ni con FNBC)
R est en 1FN
c)
Aplicamos el algoritmo de tres pasos:
1. Todo lado derecho debe tener un slo atributo (aplicamos regla de
descomposicin)
2. Todo lado izquierdo no debe tener atributos redundantes
3. No debe haber dependencias redundantes (en general las que se obtienen por
transitividad de las otras)
Paso 1:
Descomponemos los lados derechos:
AB -- > H
AB -- > G
B -- > D
BD -- > C
E -- > G
E -- > C
F -- > D
F -- > B
F -- > E
H -- > G
Paso 2:
Analizamos:
AB->H
AB->G
BD->C
A+= A
B+=BDC
D+=D
Ni A ni B son redundantes para determinar H o G
Pero D es redundante para determinar C,
por lo tanto BD->C se puede reemplazar por B->C
AB -- > H
AB -- > G
B -- > D
B -- > C
E -- > G
E -- > C
F -- > D
F -- > B
F -- > E
H -- > G
Paso 3:
Sacamos las dependencias redundantes:
AB -- > G
Es inferida por AB->H y H->G
F -- > D
Es inferida por F->B y B->D
Cobertura Minimal:
AB -- > H
B -- > D
B -- > C
E -- > C
E -- > G
F -- > B
F -- > E
H -- > G
d)
Aplicamos el algoritmo:
1) Cada dependencia funcional se convierte en un esquema:
(ABH, BD, BC, EC, EG, FB, FE, HG)
2) Unificar los que provienen de DFs que tienen igual lado izquierdo:
(ABH, BDC, ECG, FBE, HG)
3) Si ninguno de los esquemas resultantes contiene una clave se agrega uno con los
atributos de alguna clave:
(ABH, BDC, ECG, FBE, HG, AF)