Ejercicios Tema 7
Ejercicios Tema 7
Ejercicios Tema 7
1
EJERCICIOS RESUELTOS
1. Considere la siguiente relacin R e indique si, para el conjunto de tuplas
almacenadas en este momento, R satisface o no las dependencias funcionales
BED, DB, ADE, CAB y EB
A B C D E
a3 b2 c2 d4 e1
a2 b1 c4 d2 e1
a1 b2 c5 d1 e3
a4 b2 c3 d1 e2
a3 b2 c3 d1 e3
Solucin
Se satisfacen BED, DB y ADE pero no CAB (para las dos ltimas tuplas
c3 est asociada con a4, b2 y con a3, b2) ni EB (para las dos primeras tuplas e1
est asociada con b2 y b1).
2. Sea la relacin R(A, B, C, D, E, G, H) y F={EGH, CD, DA, HC}.
Supongamos que la relacin R tiene ya almacenadas las tuplas:
A B C D E G H
a1 b1 c1 d2 e1 g1 h1
a1 b2 c2 d2 e2 g1 h2
a1 b1 c2 d2 e2 g1 h2
a1 b2 c3 d1 e3 g2 h3
Decidir si cada una de las siguientes tuplas podra estar almacenada en R:
1. (a1, b1, c1, d1, e2, g1, h2) 2. (a1, b2, c3, d1, e4, g2, h3)
3. (a1, b3, c2, d2, e1, g1, h1) 4. (a1, b1, c2, d2 , e2, g1, h2)
Solucin
1) No, no cumple CD segn los valores de la primera tupla almacenada
2) S
3) No, no cumple HC, segn los valores de la primera tupla almacenada
4) No, satisface F pero es una tupla repetida (es la misma que la tercera tupla
almacenada)
3. Sea R(A, B, C, D, E, G) y F={ADE, CG, GEC, AC, BCA, BD}.
Demostrar que las dependencias AG, BCE, ABE y ADGC pertenecen a F
+
aplicando a) los axiomas de Armstrong y b) el concepto de cierre de un atributo.
Solucin
2.1)AG A
+
F
=ACG
AC y CG, por transitividad AG.
2.2)BCE (BC)
+
F
=BCGADE
BD, por aumentacin, BCD
BCD y BCA, por aditividad, BCAD
BCAD y ADE, por transitividad, BCE
BD 2006/2007 Dependencias funcionales y normalizacin
2
2.3)ABE (AB)
+
F
=ABCDEG
BD y ADE, por pseudotransitividad, ABE
2.4)ADGC (ADG)
+
F
=ADGCE
AC, por aumentacin, ADGC
4. Sea R(A, B, C, D, E, G, H) y F={AD, ABDE, CEG, EH}. Obtener (AB)
+
.
Solucin
(AB)
+
F
=ABDEH
5. Sea R(A, B, C, D, E, G, H) y F={ABE, AGD, BEC, EG, CGH} el
conjunto de d.f. que satisface R. Decidir si R satisface adems ABGH.
Solucin
(AB)
+
F
=ABECGHD, s se satisface ya que con AB podemos obtener GH
6. Sea R(A, B, C, D, E, G, H) y F={ABD, AE, DHG, BD, CH, BCG,
ED}. Obtener un conjunto de d.f. equivalente a F que no sea redundante,
eliminando de F las dependencias redundantes.
Solucin
ABD, (AB)
+
F-{ABD}
=ABED, luego es redundante
F= {AE, DHG, BD, CH, BCG, ED}
AE, (A)
+
F-{AE}
=A, no es redundante
DHG, (DH)
+
F-{DHG}
=DH, no es redundante
BD, (B)
+
F-{BD}
=B, no es redundante
CH, (C)
+
F-{CH}
=C, no es redundante
BCG, (BC)
+
F-{BCG}
=BCDHG, luego es redundante
F= {AE, DHG, BD, CH, ED}
ED, (E)
+
F-{ED}
=E, no es redundante
La solucin es F = {AE, DHG, BD, CH, ED}.
7. Sea R(A, B, C, D, E), F={ABC, AE, BD, CE, DE, DC} y G={BD,
DC, CE, AE}. Comprobar si F y G son equivalentes.
Solucin
Hay que comprobar si ABC y DE G
+
, ya que el resto de dependencias
son las mismas.
ABC, (AB)
+
G
=ABDCE, luego ABC G
+
,
DE, (D)
+
G
=DCE, luego DE G
+
,
8. Sea F={ABEG, BC, EH, HC, DEGA, DHA, BCDG}. Obtener una
cobertura cannica de F.
Solucin
Dependencias simples:
F={ABE, ABG, BC, EH, HC, DEGA, DHA, BCDG}
BD 2006/2007 Dependencias funcionales y normalizacin
3
Dependencias completas:
ABE, (B)
+
F
=BC y (A)
+
F
=A; es completa
ABG, (B)
+
F
=BC y (A)
+
F
=A; es completa
DEGA, (EG)
+
F
=EGHC, (DG)
+
F
=DG, (DE)
+
F
=DEHCA; sobra G, DEA
F=F-{DEGA}{DEA}={ABE, ABG, BC, EH, HC, DEA,
DHA, BCDG} Hay que examinar la dependencia que ha quedado despus de
eliminar G
DEA, (E)
+
F
=EHC, (D)
+
F
=D; es completa
DHA, (H)
+
F
=HC, (D)
+
F
=D; es completa
BCDG, (CD)
+
F
=CD, (BD)
+
F
=BDCG; sobra C, luego la dependencia queda
BDG
F= {ABE, ABG, BC, EH, HC, DEA, DHA, BDG}
BDG, (D)
+
F
=D, (B)
+
F
=BC; luego ya es completa.
Eliminar dependencias redundantes:
Partimos de F= {ABE, ABG, BC, EH, HC, DEA, DHA, BDG}
ABE (AB)
+
F-{ABE}
=ABCG; no es redundante
ABG (AB)
+
F-{ABG}
=ABECH; no es redundante
BC (B)
+
F-{BC}
=B; no es redundante
EH (E)
+
F-{EH}
=E; no es redundante
HC (H)
+
F-{HC}
=H; no es redundante
DEA (DE)
+
F-{DEA}
=DEHCA; es redundante
F={ABE, ABG, BC, EH, HC, DHA, BDG}
DHA (DH)
+
F-{DHA}
=DHC; no es redundante
BDG (BD)
+
F-{BDG}
=BDC; no es redundante
9. Calcular las claves candidatas de R(A, B, C, D, E, G, H) con Fc={AB, AC,
DG, AD, BH, HE, BA}, que es una cobertura cannica.
Solucin
Todos los atributos participan en las dependencias y todos aparecen en los
consecuentes. Como C, E y G no estn en ningn antecedente no podrn formar
parte de ninguna clave. Empezamos probando con los antecedentes de las d.f.
(A)
+
Fc
=ABCDGHE, luego A es clave candidata
(B)
+
Fc
=ABCDGHE, luego B es clave candidata
(D)
+
Fc
=DG, habra que combinar D con H (A y B ya son clave y C y E se han
descartado previamente).
(DH)
+
Fc
=DGHE, por aqu no se puede seguir
(H)
+
Fc
=HE, slo se podra combinar con D, pero ya se ha hecho antes (A y B ya son
clave y C y G se han descartado previamente).
Las claves candidatas son por lo tanto A y B.
10. Dada R(A, B, C, D, E, G) y Fc={CDA, BCD, CED, AB, AEG},
conjunto de d.f . cannico. Determinar en qu forma normal se encuentra R.
Solucin
Claves candidatas
No estn en los consecuentes CE. (CE)
+
F
=CEDABG, luego CE es la nica clave
candidata.
BD 2006/2007 Dependencias funcionales y normalizacin
4
Forma normal
No est en FNBC porque, por ejemplo, en CDA, CD no es superclave
No est en 3FN porque, por ejemplo, en CDA, CD no es superclave y A no es
primo
Para ver si est en 2FN, calculamos (C)
+
F
=C y (E)
+
F
=E. Est en 2FN.
11. Sea R(A, B, C, D, E, G, H, I, J ) y F={BH, GI, AE, IJ , CDHA, CAD,
AIC}. Obtener las claves candidatas de R y determinar la forma normal en que se
encuentra la relacin R.
Solucin
Debe comprobarse que F es una cobertura cannica, que lo es.
Para calcular la claves candidatas:
Los atributos que no estn en el consecuente son BG. (BG)
+
F
=BGHIJ; como no son
todos los atributos de R, hay que combinar BG con A, C, D o E. De ellos E puede
descartarse porque est en los consecuentes pero no est en ningn antecedente.
(BGA)
+
F
=BGAHIJECD; BGA es clave candidata
(BGC)
+
F
=BGCHIJ; hay que combinar con D (con A no, porque BGCA sera
superclave)
(BGD)
+
F
=BGDHIJ; hay que combinar con C (con A no, porque BGDA sera
superclave)
(BGCD)
+
F
=BGCDHIJAE; BGCD es clave candidata
Las claves candidatas son BGA y BGCD.
Forma normal:
No est en FNBC porque, por ejemplo, en BH, B no es superclave
No est en 3FN porque, por ejemplo, en BH, B no es superclave y H no es primo
No est en 2FN porque, por ejemplo, en BH, H depende solamente de uno de los
atributos de una clave; es decir la d.f. BGAH no sera completa.
Est en 1FN
12. Sea R(A, B, C, D, E, G) y F={ABCG, BD, BEC, DEA}. Estudiar la forma
normal en que se encuentra la relacin R y si no est en 3FN, obtener una
descomposicin sin prdida de informacin ni de dependencias que est al menos en
3FN.
Solucin
Debe comprobarse si F es una cobertura cannica, que no lo es ya que BEC
es redundante. Fc={AB, AC, AG, BD, DEA}
Claves candidatas
El nico atributo que no est en el consecuente es E. (E)
+
Fc
=E; como no son todos
los atributos de R, hay que combinar con el resto, excepto con C que est en los
consecuentes pero no est en ningn antecedente.
(EA)
+
Fc
=EABCGD; EA es clave candidata
(EB)
+
Fc
=EBDACG; EB es clave candidata
(ED)
+
Fc
=EDABCG; ED es clave candidata
(EG)
+
Fc
=EG; ya no se puede combinar con ms, pues seran superclaves de las
anteriores
Las claves candidatas son EA, EB y ED.
Forma normal
No est en FNBC porque, por ejemplo, en AB, A no es superclave
BD 2006/2007 Dependencias funcionales y normalizacin
5
No est en 3FN porque, por ejemplo, en AC, A no es superclave y C no es primo
No est en 2FN porque, por ejemplo, en AC, puede observarse que C es un
atributo no primo que depende parcialmente de una clave (la d.f. EAC no es
completa).
Est en 1FN
Descomposicin en 3FN
Partimos de F={ABCG, BD, DEA}.
- Todos los atributos estn en F.
- No hay ninguna d.f. que involucre a todos los atributos de R.
- As que simplemente descomponemos en
R1(A, B, C, G) F1= {ABCG}
R2(B, D) F2={BD}
R3(D, E, A) F3={DEA}
- Como una de las claves candidatas ED esta completamente contenida en R3
no hace falta aadir una relacin ms.
- Tampoco hay ningn esquema contenido en otro.
La descomposicin es, por lo tanto, R1, R2, R3.
Adems todas las relaciones resultantes estn tambin en FNBC, porque en cada
una de ellas el antecedente de su nica dependencia es la clave de la relacin.
13. Sea la relacin R(A, B, C, D, E, G, H) y F={EGH, CD, DA, HC}. Estudiar
en qu forma normal est R y si no est en 3FN, realizar una descomposicin en un
conjunto de relaciones que satisfagan la 3FN.
Solucin
Debe transformarse F en una cobertura cannica: convertimos sus d.f. en
simples,son completas y no hay ninguna redundante
F={EG, EH, CD, DA, HC}
Claves candidatas
No estn en los consecuentes BE. (BE)
+
F
=BEGHCDA, luego BE es la nica clave
candidata.
Forma normal
No est en FNBC porque, por ejemplo, en EG, A no es superclave
No est en 3FN porque, por ejemplo, en EG, E no es superclave y G no es primo
No est en 2FN porque, por ejemplo, en EG, puede observarse que G, que es un
atributo no primo que depende de una parte de la clave.
Est en 1FN
Descomposicin en 3FN usando el conjunto de d.f. agrupado
R(A, B, C, D, E, G, H) y F={EGH, CD, DA, HC}
- El atributo B no est en las d.f.; creamos R1(B) F1={}
- No hay ninguna d.f. que involucre a todos los atributos
- Descomponemos en:
R2(E, G, H) F2={EGH}
R3(C, D) F3={CD}
R4(D, A) F4={DA}
R5(H ,C) F5={HC}
- Como la clave BE no est incluida en ninguna, aadimos R6(BE) F6={}
- Como ahora el esquema de R1 est incluido en el de R6, eliminamos R1
La descomposicin es R2, R3, R4, R5 y R6. Adems puede comprobarse que
cada relacin est en FNBC.
BD 2006/2007 Dependencias funcionales y normalizacin
6
14. Tenemos un esquema R ={C(curso), P(profesor), H(hora), A(aula), E(estudiante),
G(grado)}. Las dependencias asociadas a este esquema tienen que representar las
siguientes restricciones :
cada curso es impartido por un slo profesor
a una hora y en un determinado aula se imparte un slo curso
a una hora un profesor est en una sola aula
a una hora un estudiante est en una sola aula
cada estudiante por cada curso que sigue tiene un grado
Representar el conjunto cannico de dependencias funcionales, calcular las claves
candidatas y estudiar en qu forma normal est la relacin R.
Solucin
R(C, P, H, A, E, G) y F={CP, HAC, HPA, HEA, ECG}
Puede comprobarse que F es una cobertura cannica.
La nica clave candidata es HE, ya que H y E no estn en los consecuentes
de las d.f. y (HE)
+
F
=HEAPCG
No est en FNBC ya que en CP, por ejemplo, C no es superclave
No est en 3FN ya que en CP, por ejemplo, C no es superclave y P no es
principal o primo (es decir, P no forma parte de ninguna clave)
Est en 2FN. A simple vista no se observa ninguna dependencia slo de H o
de E, pero debemos verificar que esto tambin ocurre en F
+
, calculando
(H)
+
F
=H y (E)
+
F
=E. Como no obtenemos ningn atributo no principal,
sabemos que estar en 2FN.
15. Una red hotelera mantiene un sistema centralizado de reservas de acuerdo a las
especificaciones :
Cada habitacin (H) tiene asignado un cdigo nico que indica el hotel (O)
y el tipo de habitacin (T)
El precio del hotel (P) depende del hotel y del tipo de habitacin.
Un cliente (C) puede efectuar distintas reservas (R) estando una reserva
determinada por la habitacin y la fecha (F).
Cada reserva tiene un nmero nico que determina la informacin del
cliente, la habitacin y la fecha.
Se pide :
a) Definir el esquema R y el cjto de dependencias funcionales para representar el
enunciado. Calcular la cobertura cannica Fc y todas las claves.
b) Realizar un diseo en 3FN de Codd que conserve las dependencias funcionales y
la informacin.
c) Analice luego si los subesquemas obtenidos estn en FNBC. Si alguno no lo est
llvelo a dicha forma normal y analice si se pierde o no alguna dependencia en
este proceso.
d) Escribir en lgebra relacional una consulta que recupere el precio de una
habitacin dado su cdigo.
Solucin
a) R(H, O, T, P, F, R, C) y DF={HOT, OTP, HFR, RCHF}
Hallamos la cobertura cannica: transformamos las d.f. en simples,todas las d.f.
son completas y no hay d.f. redundantes
Fc={ HO, HT, OTP, HFR, RC, RH, RF}
Claves candidatas R y HF, ya que:
BD 2006/2007 Dependencias funcionales y normalizacin
7
Todos los atributos estn en los consecuentes. Se descartan P y C que no estn
en los antecedentes. Probamos con los antecedentes.
(H)
+
Fc
=HOTP, habra que combinar con F R
(OT)
+
Fc
=OTP, podra combinarse con H, F R
(HF)
+
Fc
=HOTPFRC, es clave candidata
(R)
+
Fc
=RHFCOTP, es clave candidata
Son las dos nicas ya que H ya no se podr combinar ms (con F es clave
candidata y R slo tambin es clave candidata) y OT combinado slo con H o
slo con F no nos aporta nada ms (y con HF o R ya no tiene sentido
combinarlos, pues stos son clave candidata)
b) La relacin no est en 3FN, de hecho el mximo nivel de normalizacin es
1FN ya que ni siquiera est en 2FN (por ejemplo, O depende parcialmente de
HF, ya que slo depende de H, al existir la d.f . HO)
Descomposicin en 3FN usando Fc agrupada que es el DF original:
R(H, O, T, P, F, R, C) DF={HOT, OTP, HFR, RCHF}
No existen atributos que no estn en Fc
No hay ninguna dependencia que incluya todos los atributos del
esquema
Descomponemos en
R1(H, O, T) F1={HOT} K1=H
R2(O, T, P) F2={OTP} K2=OT
R3(H, F, R) F3={HFR} K3=HF
R4(R, C, H, F) F4={ RCHF} K4=R
Alguna de las claves candidatas iniciales est incluida ya en alguna
de las relaciones
Eliminamos la relacin R3, porque su esquema est completamente
contenido en R4 y llevamos la d.f. HFR a F4
Descomposicin final:
R1(H, O, T) F1={HOT} K1=H
R2(O, T, P) F2={OTP} K2=OT
R4(R, C, H, F) F4={ RCHF, HFR } K4={HF, R}
c) R1, R2 y R4 estn adems en FNBC, ya que en todas ellas el antecedente es
superclave
d)
P
(
H=cdigo_habitacin
(R1)*R2)
16. Una empresa fabrica diferentes productos y mantiene una red de puntos de venta
para su comercializacin. Los puntos de venta (V) se agrupan en zonas (Z). En cada
punto de venta hay agentes (A). Cada agente opera en un nico punto de venta, de
modo que dos agentes del mismo punto de venta no pueden comercializar el mismo
producto (P). Por cada producto que vende un agente se le asigna a ste una
calificacin (Q), que depende del producto y de la cantidad (C) vendida.
Representar este enunciado mediante un esquema relacional (atributos y
dependencias funcionales) llevndolo a 3FN con preservacin de dependencias y sin
prdida de informacin. En el esquema resultante analice si las relaciones estn en
FNBC.
Solucin
R(V, Z, A, P, C, Q) y F={VZ, AV, VPA, PACQ}
BD 2006/2007 Dependencias funcionales y normalizacin
8
Puede comprobarse que F es una cobertura cannica.
Claves candidatas
No estn en el consecuente P y C. (PC)
+
F
=PC. Hay que combinar con el resto,
excepto con Z y Q que no estn en los antecedentes, o sea, basta con combinar
con A y V.
(PCA)
+
F
=PCAVQZ y (PCV)
+
F
=PCVZAQ. Claves candidatas: PCA y PCV.
Forma normal
No est en FNBC porque, por ejemplo, en VZ, V no es superclave.
No est en 3FN, porque, por ejemplo, en VZ, V no es superclave y Z no es
primo.
No est en 2FN porque, por ejemplo, en VZ, Z depende de un subconjunto de
la clave PCV.
Est en 1FN
Descomposicin
- No hay ningn atributo que no est en las d.f.
- No hay ninguna d.f. tal que involucre a todos los atributos del
esquema
- Descomponemos en:
R1(V, Z) F1={VZ}
R2(A, V) F2={AV}
R3(V, P, A) F3={VPA}
R4(P, A, C, Q) F4={PACQ}
- Una de las claves candidates PCA est incluida ya en R4.
- El esquema de R2 est incluido en el de R3. Eliminamos R2 y la
d.f. AV pasa a F3.
En resumen, la descomposicin es:
R1(V, Z) F1={VZ}
R3(V, P, A) F3={VPA, AV}}
R4(P, A, C, Q) F4={PACQ}
Anlisis de la descomposicin
R1(V, Z) F1={VZ} K1=V; est en FNBC
R3(V, P, A) F3={VPA, AV} K3={PV y PA}; no est en FNBC porque
en AV A no es superclave (sin embargo, si estaba en 3FN porque V era
primo}.
R4(P, A, C, Q) F4={PACQ} K4=PAC; est en FNBC
Si quisisemos llevar R3 a FNBC, tendramos que elegir la d.f. AV que es la
que no cumple que el antecedente es superclave. La descomposicin quedara:
R31(P, A) F31={}
R32(A, V) F32={AV}
Como podemos observar la d.f. VPA se ha perdido, por lo que la
descomposicin de R3 en R31, R32, ambas en FNBC, preserva la informacin
pero no las d.f.