Está en la página 1de 7

Ejercicio 1:

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?

Universidad de Buenos Aires


Facultad de Ciencias Exactas y Naturales
Departamento de Computacin
Base de Datos
Autor: Alejandro Eidelsztein

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

Nos queda probar con ABD


ABD+= ABD
Las claves son: AC y AE

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

FNBC= (BD, AB, EC, AE)


La descomposicin es SPI y cumple con FNBC porque todos los subesquemas
tienen dos atributos
Aplicamos las dependencias en el siguiente orden:
B->D, A->B, E->C (se pueden obtener tantas descomposiciones como rdenes
distintos de aplicar las dependencias)

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)

4) Eliminar esquemas redundantes: Si alguno de los esquemas resultantes esta contenido


totalmente en otro, eliminarlo.
No hay ninguno
3FN= (ABH, BDC, ECG, FBE, HG, AF)

También podría gustarte