You are on page 1of 41

DISEO DE BASES DE DATOS. DEPENDENCIAS FUNCIONALES. Ejercicios 1.

Nota:
A, B, C, D, E, G, H , I son considerados atributos atmicos.
W, X, Y , Z son considerados conjuntos de atributos atmicos.
Ejercicio 1. Sea R(A,B,C,D,E) con F = { A B, B D, C E, E B }.
Cules de las siguientes relaciones de R satisfacen F ?.
b.
c.
a.
A B C D E
A B C D E
A B C D E
a1 b1 c1 d1 e1
a1 b1 c1 d1 e1
a1 b1 c1 d1 e1
a2 b2 c2 d1 e1
a2 b2 c2 d1 e2
a2 b1 c1 d2 e1

d.
A B C D E
a1 b1 c1 d1 e1
a1 b1 c2 d1 e1

Ejercicio 2. Sean las siguientes definiciones alternativas de dependencia funcional. Indicar cuales
son correctas y cuales no.
X Y se cumple en R si y solo si:
a.
b.
c.
d.
e.
f.
g.
h.

r de R se cumple: t,u r, si t[X] = u[X], entonces t[Y] = u[Y].


r de R se cumple: () t, u r tal que t[X] = u[X] y t[Y] u[Y].
r de R, t, u r, t[XY] = u[XY].
r de R, no se repiten los valores de X en r.
r de R, cada valor de X tiene un nico valor asociado de Y.
r de R, hay una correspondencia biunvoca entre valores de X y de Y.
r de R, si t y u difieren en Y, deben diferir en X (t,u r).
r de R, si t y u coinciden en Y, deben coincidir en X.

Ejercicio 3. Indicar cuales de las siguientes derivaciones para dependencias funcionales son vlidas
demostrando o usando un contraejemplo.
a.
b.
c.
d.

{ X Y, Z Y } XZ Y.
{ XZ Y } X Y.
{ XZ Y, X Z } X Y.
{ Z W , X Y } XZ YW.

e.
f.
g.
h.

{ XY Z, Z X } Z Y.
{ X Y, Y Z } X YZ.
{ X Y, W Z, W Y } X Z.
{ XY Z, Y W } XW Z

Ejercicio 4. Sea R(A,B,C,D,E,G,H,I) y F = {AB CH, CD B, B GAE, H DI }. Calcular:


a. A+
c. (CD) +
e. (BE) +
g. (ABH) +
+
+
+
b. B
d. (BEI)
f. (HA)
Ejercicio 5. Sea F = { AB C, C D, B C, C E, HB D }. Decir cuales de las siguientes
dependencias funcionales estn en F+:
a. B D
b. E D

c. C DE
d. A C

e. HA CD
f. CD E

g. A D

Ejercicio 6. Sea R(A B C D E G) y F = { AB D, CD G, E A, A C, BG C, D A }


a. Hallar las clausuras de los siguientes conjuntos de atributos
1

1. (AD)
3. (BC)
5. (B)
2. (D)
4. (EB)
6. (EBC)
b. Alguno de los conjuntos anteriores es superclave ?.
c. Alguno es clave ?.
d. Hallar todas las claves de R segn F.
Ejercicio 7. Sea R(A, B, C, D, E, G, H) y el conjunto de dependencias funcionales
F = { AB CDE, C A, D E, H E, HE G }
Hallar todas las claves. Justificar la respuesta.
Ejercicio 8. Sea R(A,B,C,D,E,G,H,I) y el conjunto de dependencias funcionales
F = { A B, B C, E I, EGC B, G H , B A }.
Dar todas las claves de R segn F.
Ejercicio 9. Sea R(A,B,C,D,E) y F = { AB C, C DE, E C }.
Decir cules de los conjuntos de dependencia funcionales son equivalentes a F. En caso de no serlo
dar relaciones de R que ejemplifiquen este hecho.
a. F1 = { AB CDE, E CD, C D }.
b. F2 = { AB D, D C, C DE, E C }.
c. F3 = { AB CDE, C D, C E, E C, E D }.
d. F4 = { A C, B C, C DE, E C }.
Ejercicio 10. Hallar recubrimientos minimales de los siguientes conjuntos.
a. {A , B C , C D , D E , E A , A C , C , E , B D , D }.
b. {A , AE D, B C, DH C, C D, CG B, D A, BF }.
Ejercicio 11.
Un club esta organizando un campeonato de tenis individual. A cada persona que se inscribe se le
pide el nombre, la edad, el DNI y la fecha de vencimiento de la ficha mdica. El torneo se juega en
un determinado conjunto de pistas de las que se conoce la direccin de cada una, un cdigo que las
identifica, y si tienen iluminacin o no. A partir de estos datos, se organizan los partidos del
campeonato con los siguientes criterios.
A cada partido se le asigna un cdigo que lo identifica dentro del torneo, una hora, una pista,
dos inscriptos diferentes (local y visitante), una etapa (eliminatorias, octavos, cuartos,
semifinales y final) y un ganador.
No se pueden jugar dos partidos a la misma hora en la misma pista.
En cada etapa, cada jugador juega un solo partido.
a. Indicar las dependencias funcionales que se cumplen en esta realidad.

DISEO DE BASES DE DATOS


FUNCIONALES

SOLUCION DEPENDENCIAS

Ejercicio 1. Se tiene R(A,B,C,D,E) con F = { A B, B D, C E, E B }.

E
e1
e1

No satisface F. Viola E B , ya que si la primer tupla se denomina t , y la


segunda u , se tendr que:
t[E] = u[E] = e1 , pero t[B] u[B]
con lo que no se cumple la definicin de dependencia funcional.

a.
A B
a1 b1
a2 b2

C
c1
c2

D
d1
d1

A B
a1 b1
a2 b2

C
c1
c2

D
d1
d1

E
e1
e2

Satisface F, trivialmente, ya que para todo par de tuplas u, t en esta


instancia de R y para toda dependencia funcional Att1 Att2 en F, se
cumple que: t[Att1] = u[Att1] con lo que la definicin de dependencia
funcional ser valida en todos los casos planteables.

A B
a1 b1
a2 b1

C
c1
c1

D
d1
d2

E
e1
e1

No satisface F. Viola B D , ya que como se hizo en el caso b. si la


primer tupla se denomina t , y la segunda u , se tendr que:
t[B] = u[B] = e1 , pero t[D] u[D]
con lo que no se cumple la definicin de dependencia funcional.

E
e1
e1

Satisface F, ya que para todo par de tuplas u, t en esta instancia de R y


para toda dependencia funcional Att1 Att2 en F, se cumple que:
t[Att1] = u[Att1] t[Att2] = u[Att2]
es verdadero para toda combinacin de Att1 y Att2 elegidas.

b.

c.

d.
A B
a1 b1
a1 b1

C
c1
c2

D
d1
d1

Se tendrn: (como antes, t es la primer tupla, u la segunda)


A B:
t[A] = u[A] = a1 y t[B] = u[B] = b1
t[B] = u[B] = b1 y t[D] = u[D] = d1
B D:
t[C] = u[C] , por lo que se cumple trivialmente
C E:
t[E] = u[E] = e1 y t[B] = u[B] = b1
E B:
Ejercicio 2.
DEFINICIN DE DEPENDENCIA FUNCIONAL:
Sea R(A1,...,An) un esquema relacin, y X e Y subconjuntos de {A1,...,An}.
Decimos que X Y, (que se lee X determina funcionalmente Y) si para toda instancia r del esquema de
relacin R, no es posible que r tenga dos tuplas que coincidan en los atributos de X y no lo hagan en los
de Y.
a.
Es correcta, corresponde directamente a la definicin.
b. Idem a., pero usando "existe". (se establecen equivalencias lgicas)
Se tiene que r de R:
t,u r, si t[X] = u[X] t[Y] = u[Y]
t,u r, si t[X] = u[X] o t[Y] = u[Y]
X Y Z
() t, u r tal que t[X] = u[X] y t[Y] = u[Y].
x1 y1 z1
c.
No es correcta, ya que obligara a que los valores de X y Y fueran siempre
los
x
y
z
mismos, lo cual es ms restrictivo que una fd.
2
1
2
No se viola X Y, aun cuando [XY] es distinto para ambas tuplas
X Y Z
d. No es correcta, puede darse lo siguiente en R(X,Y,Z):
x1 y1 z1
Se repiten valores de X y no se viola X Y.
x1 y1 z2
e.

Es correcta. Debe probarse que r de R, cada valor de X tiene un nico valor asociado de Y.
Asumiendo una instancia genrica r de R, se demostrara que la definicin a. implica la definicin e., y
recprocamente.
Demostracin:
a. e.
En este caso es trivial, ya que por la definicin a. , se tendr que
r de R , t,u r, si t[X] = u[X], entonces t[Y] = u[Y]
con lo que dadas dos tuplas con un mismo valor de X, solo el mismo valor de Y podr
corresponderles a ambas.
e. a.

Dadas dos tuplas cualesquiera de una instancia, pueden suceder dos cosas:
t[X] = u[X]: En este caso, se cumple que existe un nico valor de Y asociado a X por lo que tb
valdr que t[Y] = u[Y]
t[X] u[X] : En este caso, se cumple trivialmente que: t[X] = u[X] t[Y] = u[Y]
Por lo tanto, se cumple que e. a., con lo que esta definicin de dependencia funcional es
equivalente a la seleccionada al principio, y por lo tanto correcta.
f. No es correcta, puede darse lo siguiente en
R(X,Y,Z):
No hay una correspondencia biunvoca y no se viola X
Y.

X Y Z
x1 y1 z1
x2 y1 z1

g. Es correcta, es equivalente a a. pero sin usar implicacin. (como en el caso b.) se aplican
equivalencias lgicas)
La definicin general es de la forma: t, u r, si t[X] = u[X] t[Y] = u[Y] la cual se vio es
equivalente a: t, u r, si t[X] u[X] o t[Y] = u[Y]
Al analizar esta ultima, se nota que cualquier par de tuplas, si difieren en Y, necesariamente, para obtener una condicin
verdadera, deber ser diferentes en X, ya que de no serlo, el valor de verdad de la expresin no se mantiene.

h.

No es correcta, el mismo contraejemplo que en el caso f. es aplicable aqu tambin.

Ejercicio 3. Aplicando las reglas de Armstrong se tendr que:


a. { X Y, Z Y } XZ Y
Se cumple
X Y ZX YZ
ZX YZ ZX Y

Aumento
Descomposicin

X Y Z
b. { XZ Y } X Y
x1 y1 z1
No se cumple. Ver este contraejemplo: R(X,Y,Z)
x1 y2 z2
Esta relacin satisface XZ Y, pero no
satisface X Y.
c. { XZ Y, X Z } X Y
Se cumple
XX
Reflexiva (X X)
{ X Z , X X } X XZ
Unin
Transitiva
{ X XZ , XZ Y } X Y
d. { Z W , X Y } XZ YW.
Se cumple
X Y XZ YZ
Z W ZY WY
{ XZ YZ , YZ WY } XZ YW.

Aumento
Aumento
Transitiva

e. { XY Z, Z X } Z Y
No se cumple. Ver el siguiente contraejemplo:
X Y Z
R(X,Y,Z)
x1 y1 z1
Esta relacin satisface XY Z y Z X, pero
x1 y2 z1
no satisface Z Y.
f. { X Y, Y Z } X YZ
Se cumple
{ X Y, Y Z } X Z
Transitiva
{ X Z , X Y } X YZ
Unin

g. { X Y, W Z, W Y } X Z
Se cumple
YW
{ X Y ,Y W, W Z } X Z

Reflexiva (Y W)
Transitiva dos veces

h. { XY Z, Y W } XW Z
No se cumple. Ver el siguiente contraejemplo:
R(W,X,Y,Z)Esta relacin satisface XY Z y Y
W pero no satisface XW Z.

w1 x1
w1 x1

y1
y2

z1
z2

W X Y Z
Ejercicio 4.
Sea R(A,B,C,D,E,G,H,I) y F = { AB CH, CD B, B GAE, H DI }.
En cada uno de los casos siguientes se determinaran las clausuras de cada conjunto de atributos a
travs de los axiomas de Armstrong.
La idea al aplicar la clausura es tratar de obtener los dems atributos de la relacin, por lo que siempre
trataran de inferirse estos a travs de aplicaciones de las reglas anteriores.
a. (A)+ = { A }
Considero el conjunto de partida{ A }
Reflexiva (A A)
{A} A A
Partiendo de A, no es posible inferir otros atributos distintos de la relacin R.
En este caso se observa claramente que no es posible "escaparse" del nodo A, por lo que la
clausura estar compuesta solo por A.
b. (B)+ = { B, G, A, E, C, H, D, I }
Considero el conjunto de partida{ B }
{B} B B
{ B } B GAE
el conjunto de trabajo pasa a:
{ B,G,A,E } AB CH
el conjunto de trabajo pasa a:
{ B,G,A,E,C,H } H DI
el conjunto de trabajo pasa a:
{ B,G,A,E,C,H,D,I }

Reflexiva (B B)
dependencia funcional en F
dependencia funcional en F
dependencia funcional en F

Se finaliza el proceso debido a que el resultado es el esquema de la relacin.


Para los dems casos, el mecanismo formal para deducir la clausura, es utilizar las reglas de
Armstrong, pero como ayuda puede utilizarse el grafo antes planteado.
Planteamos a continuacin los resultados de las clausuras.
c.
d.
e.
f.
g.

(CD) + = { C, D, B, G, A, E, H, I }
(BEI) + = { B, E, I, G, A, C, H, D }
(BE) + = { B, E, G, A, C, H, D, I }
(HA) + = { H, A, D, I }
(ABH) + = { A, B, H, C, D, I, B , E }

Ejercicio 5.
Sea F = { AB C, C D, B C, C E, HB D }.
Se van a calcular los X+F correspondientes a cada dependencia funcional X Y F, utilizando las
mismas tcnicas que en Ej. anterior. Se concluir que esta dependencia funcional
X Y F+ en caso de que Y X+.
a. (B) + = { B, C, D, E }, D B+ (B D) F+.

b.
c.
d.
e.
f.
g.

(E) + = { E }, D E+ (E D) F+.
(C) + = { C, D, E }, D,E C+ (C DE) F+.
(A) + = { A }, C A+ (A C) F+.
(HA) + = { H, A }, C,D (HA) + (HA CD) F+.
(CD) + = { C, D, E }, E (CD) + (CD E) F+.
(A) + = { A }, D A+ (A D) F+.

Ejercicio 6. Sea R(A B C D E G) y F = { AB D, CD G, E A, A C, BG C, D A }.


a. Se aplican las mismas tcnicas obtenidas de los ejercicios anteriores.
1. (AD) + = { A , D, C, G }
4. (EB) + = { E, B, A, C, D, G }
2. (D) + = { D, A, C, G }
5. (B) + = { B }
+
3. (BC) = { B, C }
6. (EBC) + = { E, B, C, A, D, G }
b. Los conjuntos (EB) y (EBC) son superclave, ya que su clausura contiene a todos los atributos de la
relacin.
c. El conjunto que podra ser clave es (EB), pero primero hay que verificar que no contiene una clave.
(E) + = { E, A, C } no es clave. (B) + = { B } no es clave. (EB) es clave
d. B y E no quedan determinados por ningn otro conjunto de atributos, porque nunca aparecen en la
parte derecha de ninguna fd por lo que estarn contenidos en todas las claves. Pero (BE) es clave
(por c.), por lo tanto no habr otra clave, porque si la hubiera debera contener a (BE) y entonces
sera superclave.
La nica clave es (BE)
Ejercicio . Se aclara que el siguiente conjunto de propiedades puede resultar muy til a la hora de
determinar las claves de un esquema de relacin, as como tambin al obtener recubrimientos
minimales y clausuras.
a. Si existe X t.q. X no aparece en ninguna dependencia funcional, entonces X est en toda
clave.
Por absurdo, supongo que Z clave tq. X Z.
Si Z es clave, entonces se cumple Z X.
Si Z X entonces, o bien X Z (que contradice la hiptesis), o bien Z X es una fd no trivial, lo
cual contradice que X no aparece en ninguna fd.
ABSURDO, X pertenece a toda clave.
b. Si existe X t.q. X no est a la derecha de ninguna dependencia funcional, X est en toda clave.
Por absurdo, supongo que Z clave tq. X Z.
Si Z es clave, entonces se cumple Z X.
Si Z X entonces, o bien X Z (que contradice la hiptesis), o bien Z X es una fd
no trivial, lo cual contradice que X no aparece a la derecha de ninguna fd.
ABSURDO, X pertenece a toda clave.
ACLARACION INTERESANTE: juntando las partes a. y b. , pudo haberse demostrado en primera
instancia la parte b. para luego afirmar que si X no aparece en ninguna dependencia funcional,
entonces obviamente no aparece a la derecha de ninguna dependencia funcional, por lo que por la
parte b. , estar en toda clave.
c. Si existe X t.q. X no est a la derecha de ninguna dependencia funcional, X es clave y es
nica.
No se cumple. Contraejemplo: R(A,B,C) y F = { A B }
En este caso A est en las hiptesis y no es clave (y aun menos nica).
d. Si existe X t.q. X no est a la derecha de ninguna dependencia funcional y X es superclave, X
es clave y es nica.
Por b. X esta en toda clave. O sea, toda clave contiene a X. Como X es superclave, X determina
funcionalmente al resto de los atributos.
ES CLAVE.
Notar que es minimal porque no hay clave que no contenga a TODA X.
Es nica, porque si hubiera otra clave, debera contener a X; y como X ya es clave la otra sera
superclave.

e. Si existe X t.q. X aparece a la izquierda de alguna dependencia funcional y es superclave, hay una
sola clave y es X.
No se cumple. Contraejemplo: R(A,B,C), con F = { AC B, A BC }.
(AC) es superclave y aparece a la izq. de (AC B), sin embargo no es clave ya que A lo es.
Ejercicio 7. Sea R(A,B,C,D,E,G,H) y el conjunto de dependencias funcionales
F = { AB CDE, C A, D E, H E, HE G }
Aplicando proposiciones. del Ej. anterior, se sabe que:
(BH) est en todas las claves, ya que no aparecen del lado derecho de ninguna dependencia funcional.
Verifico si es superclave: (BH) + = { B, H, E, G } no es superclave.
Considero los conjuntos de tres atributos que contienen a (BH):
(BHA) + = { B, H, A, E, G, C, D } (BHA) es clave.
(BHC) + = { B, H, C, E, G, A, D } (BHC) es clave.
(BHD) + = { B, H, D, E, G }
Debido a que E y G estn en (BH) + , y (BH) debe estar en toda clave, se deduce que G y E nunca
estarn en alguna clave, ya que estos pueden deducirse siempre. Por esto, en realidad resulta
innecesario hacer:
(BHE) + = { B, H, E, G } (BHG) + = { B, H, G, E }
Existirn ms claves ? Si existen contienen a (BH) y no a A ni a C, porque sino seran superclaves.
Entonces considero X = R - {AC} y verifico si es superclave.
X+ = (BDEGH) + = { B, D, E, G, H }, no es superclave, por lo que ningn subconjunto de X lo ser, por lo
que no hay superclaves que no contengan A ni C, por lo que no hay claves que no contengan ni A ni C.
Por lo que no hay mas claves.
Las nicas claves son (BHA) y (BHC).
Ejercicio 8. R(A,B,C,D,E,G,H,I). F = { A B, B C, E I, EGC B, G H, B A }
D no est en ninguna fd, entonces est en toda clave. H I no estn nunca a la izquierda en fds,
entonces no sirven para determinar a ningn atributo, entonces no estn en ninguna clave. E y G no
estn a la derecha de ninguna dependencia, entonces estn en toda clave.
Pruebo con (E,G,D), (EGD)+ = { E, D, G, I, H }, no es superclave, entonces no es clave.
Pruebo con claves de cuatro atributos:
(EGDA) + = { D, A, B, C, E, G, I, H } es clave
(EGDB) + = { D, B, C, E, G, I, H, A } es clave
(EGDC) + = { D, C, B, E, I, H, A, G } es clave
No hay mas, pues si no seran superclaves. LAS CLAVES SON: (EGDA), (EGDB), (EGDC).
Ejercicio 9. F = { AB C, C DE, E C }
a. F1 = { AB CDE, E CD, C D } No son equivalentes.
Sea la siguiente relacin: R(A,B,C,D,E)
Satisface F1 pero no F. (C E) F1+

A B C D E
a1 b1 c1 d1 e1
a1 b2 c1 d1 e2

b. F2 = { AB D, D C, C DE, E C } No son equivalentes.


Sea la siguiente relacin: R(A,B,C,D,E)
Satisface F pero no F2. (D C) F+

A B C D E
a1 b1 c1 d1 e1
a1 b2 c2 d1 e2

c. F3 = { AB CDE, C D, C E, E C, E D }
Son equivalentes. Para eso verificaremos que cada fd de un conjunto est en la clausura del otro.
F F3+:
F3 F+ :
(AB) +F3 = { A, B, C, D, E } (AB C) F3+.
(AB) +F = { A, B, C, D, E } (AB CDE) F+.
+
+
(C) F3 = { C, D, E } (C DE) F3 .
(C) +F = { C, D, E } {C D,C E} F+.
(E) +F3 = { E, C, D } (E C} F3+.
(E C) F.
(E)+F = { E, C, D } (E D) F+.

d. F4 = { A C, B C, C DE, E C }
No son equivalentes. Sea la siguiente relacin: R(A,B,C,D,E)
Satisface F pero no F4. (A C, B C) F+

A B C D E
a1 b1 c1 d1 e1
a1 b2 c2 d1 e2

Ejercicio 10.
c. {A , B C , C D , D E , E A , A C , C , E , B D, D }.
NOTA: solucin sin algoritmo.
Buscamos un cubrimiento minimal de este conjunto. Si observamos las dependencias que este
contiene, veremos que el subconjunto: F1 = { A , B C , C D , D E , E A }
forma un ciclo en las dependencias. Por lo tanto, todas estas son esenciales en el cubrimiento.
El otro subconjunto:
F2 = {A C , C , E , B D, D }
forma otro ciclo en las dependencias, pero con respecto al anterior, esta desfasado. Es
anlogo a representar todos los atributos en un grafo, y considerar las dependencias cono
aristas dirigidas desde el atributo a la izquierda, hacia el atributo a la derecha.
Podemos probar que ambos conjuntos son equivalentes: F1 F2+:
Debido a los ciclos presentes en las dependencias, podemos afirmar que:
A+F2 = B+F2 = C+F2 = D+F2 = E+F2 = { A, B, C, D, E } , por lo que
B C F2+. C D F2+. D E F2+. E A F2+.
A F2 + .
F2 F1+:
Como antes, tambin se cumple:
A+F1 = B+F1 = C+F1 = D+F1 = E+F1 = { A, B, C, D, E } , por
lo que
B C F1+. C D F1+. D E F1+. E A F1+.
A F1 + .
Por lo que F2+ = F1+
a su vez, estos dos ltimos conjuntos son minimales, ya que se cumplen las condiciones en la
definicin. Es ms sencillo constatarlo grficamente, ya que remover una dependencia es
anlogo a remover una arista del grafo. Lo que suceder, es que no se podr cerrar el circuito,
con lo que el conjunto ya no ser equivalente .
Por lo tanto, los siguientes conjuntos son cubrimientos minimales del conj. original
F1 = { A , B C , C D , D E , E A }
F2 = {A C , C , E , B D, D }
d. {A , AE D, B C, DH C, C D, CG B, D A, BF }.
El siguiente es el minimal del conjunto anterior:
F = { A , B C, C D, D A}

10

Diseo de bases de datos. Normalizacin. Curso 2000/2001


Ejercicio 1. Sea el esquema relacin R(A, B, C, D, E, G, H) con A, B, C, D, E, G, y H atributos atmicos y el
conjunto de dependencias funcionales:
F = { CDGEB, ABC, AD, ABCE, BE, CDEA }
a. Hallar todas las claves. Justificar la respuesta.
b. Hallar un cubrimiento minimal de F en R. Mostrar los pasos seguidos.
c. Dada la descomposicin = (R1, R2) siendo: R1 (A, B, C, E) y R2 (C, D, E, G, H)
Decir si (Justificar adecuadamente todas las respuestas):
1. Es descomposicin con join sin prdida?
2. Preserva dependencias?
3. En que forma normal se encuentra R1 y R2 ?
d. Utilizando F, llevar R a 3NF con join sin prdida y preservacin de dependencias.
e. Llevar la descomposicin de la parte d. a FNBC con join sin prdida. Indicar si se pierden dependencias
funcionales y cuales.
Ejercicio 2. R(A,B,C,D,E,H,G) , F = { AB CED, C , D , EH G}
a. Claves de R segn F.
b. Hallar un cubrimiento minimal de F en R. Mostrar los pasos seguidos.
c. Sea la descomposicin:
R(A,B,C,D,E,H,G) F = { AB CED, C , D , EH G}
FR1 = { AB D, D E }
R1(A,B,D,E)
FR2 = { AB C, C A }
R2(A,B,C,H,G)
1. Es una descomposicin con join sin prdida ?
2. Preserva las dependencias ?
3. En qu forma normal se encuentran R1 y R2 ?
d. Llevar R a 3NF con join sin prdida y preservacin de dependencias.
e. Llevar la descomposicin de la parte d. a BCNF con join sin prdida. Indicar si se pierden dependencias
funcionales y cuales.
Ejercicio 3. Enunciado de campeonato de tenis individual.
b. Teniendo en cuenta las dependencias encontradas, indicar en que forma normal se encuentra el
esquema que contiene todos los atributos. Si no se encuentra en una forma normal "aceptable",
normalcela hasta que as lo considere. Justifique las respuestas.
Ejercicio 4. Se quiere modelar una base de datos de informacin histrico-poltica e histrico-administrativa de
las calles de una ciudad, as como informacin sobre los hospitales y zonas deportivas sobre las mismas.
La informacin histrico-poltica de inters se refiera al ao en que fue inaugurada la calle as como el nombre
del intendente en ejercicio.
La informacin histrico-administrativa que se desea mantener es la identificacin del plano de construccin de
la calle en cuestin, as como la empresa constructora que estuvo a cargo del diseo de dicho plano. El plano
de construccin de la calle consiste del diseo de la misma y el identificador del plano es una referencia que se
utiliza a fin de ubicarlo en el archivo de planos que mantiene la intendencia. Desde ahora al plano de
construccin lo llamaremos simplemente plano de la calle.
Se sabe que una calle tiene tanto un nmero de calle como un nombre y que cada uno identifica a la calle. El
nmero de calle determina en forma nica tanto el nombre de la calle como el identificador del plano de la calle
y la empresa constructora. A su vez el nmero de la calle y la identificacin del plano de la calle y la empresa
constructora son nicos dado el nombre de la calle.
El nombre de la calle fue elegido durante el ejercicio de un intendente, es decir que el nombre del intendente
queda determinado por el nombre de la calle.
Dado el nombre y el nmero de la calle y el nombre del intendente queda determinado el ao de inauguracin
de la calle.
Se sabe que una identificacin del plano de una calle puede describir a distintas calles, pero un plano es
diseado por una nica empresa constructora.

11

Las mismas empresas que se encargaron de disear los planos de las calles, construyeron hospitales y zonas
deportivas. En la construccin de un hospital de una zona deportiva designa un nico ingeniero responsable.
A su vez dichos ingenieros trabajan en una nica empresa constructora.
a.
b.
c.
d.
e.

Identifiquen las dependencias funcionales.


Hallar todas las claves.
Obtenga un cubrimiento minimal de F.
Obtenga esquema en FN3.
Obtenga esquema en FNBC.

12

Diseo de bases de datos. Soluciones Normalizacin.


Ejercicio 1. Sea el esquema relacin R(A, B, C, D, E, G, H) con A, B, C, D, E, G, y H atributos
atmicos y el conjunto de dependencias funcionales:
F = { CDGEB, ABC, AD, ABCE, BE, CDEA }
f. Hallar todas las claves. Justificar la respuesta.
g. Hallar un cubrimiento minimal de F en R. Mostrar los pasos seguidos.
h. Dada la descomposicin = (R1, R2) siendo: R1 (A, B, C, E) y R2 (C, D, E, G, H)
Decir si (Justificar adecuadamente todas las respuestas):
4. Es descomposicin con join sin prdida?
5. Preserva dependencias?
6. En que forma normal se encuentra R1 y R2 ?
i. Utilizando F, llevar R a 3NF con join sin prdida y preservacin de dependencias.
j. Llevar la descomposicin de la parte d. a BCNF con join sin prdida. Indicar si se pierden
dependencias funcionales y cuales.
Solucin.
a. Claves de R segn F: G y H pertenecen a toda clave, ya que no estn a la derecha de
ninguna dependencia funcional. (GH)+ = {G, H} (GH) no es clave.
Busco entonces claves con 3 atributos:
(GHA)+ = {G, H, A, D} (GHA) no es clave; (GHB)+ = { G, H, B, E} (GHB) no es clave
Busco claves con 4 atributos:
(GHAB)+ = {G, H, A, B, D, E, C} (GHAB) es clave ;
(GHAC)+ = {G, H, A, C, D, E, B} (GHAC) es clave ;
(GHAD)+ = {G, H, A, D} (GHAD) no es clave ; (GHAE)+ = {G, H, A, E} (GHAE) no es clave
;
(GHBC)+ = {G, H, B, C} (GHBC) no es clave ; (GHBD)+ = {G, H, B, D, E} (GHBD) no es
clave;
(GHBE)+ = {G, H, B, E} (GHBE) no es clave;
(GHCD)+ = {G, H, C, D, E, B, A} (GHCD) es clave ;
(GHCE)+ = {G, H, C, E} (GHCE) no es clave ; (GHDE)+ = {G, H, D, E} (GHDE) no es
clave;
Busco claves con 5 atributos:
(GHADE)+ = {G, H, A, D. E} (GHADE) no es clave;
(GHBCE)+ = {G, H, B, C, E) (GHBCE) no es clave
(GHBDE)+ = {G, H, B, D, E} (GHBDE) no es clave
Las claves son (GHAB), (GHAC) v (GHCD)
b. Hallar un cubrimiento minimal de F en R. Mostrar los pasos seguidos.
1. Llevar todas las dependencias funcionales a la forma X Att, donde Att es un solo
atributo.
F1 = { CDG E, CDG B, AB C, A D, ABC E, B E, CDE A}
2. Eliminar atributos redundantes a la izquierda.
(B)+F2 = {B, E} A y C son redundantes F2 = ( F1 { ABC E } ) { B E }
F2 = { CDG E, CDG B, AB C, A D, B E, CDE A }
13

(Como es un conjunto (unin), no colocamos dos veces a B E)


Realizando el mismo procedimiento, se comprueba que la anterior es la nica dependencia
que contiene atributos redundantes a la izquierda.
3. Eliminacin de dependencias redundantes
F' = F2 { CDG E };
(CDG)+F, = {C,D,G,B,E} CDG B es una dependencia redundante en F2 F3 = F'
F' = F3 { CDG B }; (CDG)+F, = {C,D,G} CDG B no es redundante en F3
F' = F3 { AB C }; (AB)+F, = {A,B,D,E} AB C no es redundante en F3
F' = F3 { A D }; (A)+F, = {A} A D no es una dependencia redundante en F3
F' = F3 { B E }; (B)+F, = {B} B E no es una dependencia redundante en F3
F' = F3 { CDE A }; (CDE)+F, = {C,D,E} CDE A no es una dependencia redundante
en F3
Se deduce entonces que el conjunto minimal es:
Fminimal = F3 = { CDG B, AB C, A D, B E, CDE A }
c. = (R1, R2 ) siendo : R1(A,B,C,E) y R2 (C,D,E,G,H)
Tendremos:
R(A,B,C,D,E,G,H)
F = { CDG EB, AB C, A D, ABC E, B E, CDE A }
R1(A,B,C,E) R2(C,D,E,G,H)
1. La descomposicin tiene join sin prdida?
R1 R2 = (CE), R1 R2 = (AB) y R2 R1 = (DGH)
CE AB F+ y CE DGH F+
Por la propiedad DPSP1 la descomposicin no tiene join sin prdida.
2. Preserva dependencias? R1(F) = { AB C, B E}, R2(F) = { CDG E} ;
K = { AB C, B E } { CDG E }
Estudiamos si Fminimal K; (CDG)+K = { C,D,G,E} CDG B no se satisface en K Los
conjuntos no son equivalentes, por lo que se puede afirmar que no se preservan las dfs.
3. En que forma normal se encuentra R1 y R2 ?
FR1 = { AB CE }, Claves: (ABC) R1 esta en BCNF
R1(A,B,C,E)
R2(C,D,E,G,H) FR2 = { CDG E }, Claves: (CDGH) CDG E , E depende
parcialmente de
la clave CDGH, y E no es primo, por lo que esta viola
2NF.
El esquema esta en 1NF.
d. Utilizando F, llevar R a 3NF con join sin prdida y preservacin de dependencias.
R(A,B,C,D,E,G,H), Fminimal = { CDG B, AB C, A D, B E, CDE A }
Claves de R: (GHAB), (GHAC) ,(GHCD)
Aplicando directamente el algoritmo, obtenemos:
3NF = { (CDGB), (ABC), (AD), (BE), (CDEA) } { (GHAC) }
No se agrega H como subesquema separado, ya que al agregar el esquema que contiene una
clave de R, H queda incluido en l, por lo que no ser necesario tenerlo aparte.
Debido a que (AD) est incluido en (CDEA), eliminamos (AD).
3NF = { (CDGB), (ABC), (BE), (CDEA) } { (GHAC) }
14

e. Llevar la descomposicin de la parte d. a BCNF con join sin prdida. Indicar si se


pierden dependencias funcionales y cuales.
R(A,B,C,D,E,G,H)Fminimal = { CDG B, AB C, A D, B E, CDE A }
Se tiene la siguiente descomposicin en 3NF:
FR1 = { CDG B } |
R2(ABC)
FR2 = { AB C }
R1(CDGB)
FR3 = { B E }
|
R4(CDEA)
FR4 = { CDE A , A D }
R3(BE)
R5(GHAC)
FR5 = { }
Si observamos, no se pierden dependencias, y tiene JSP gracias al algoritmo de la parte
anterior. Adems, cada subesquema esta en BCNF, salvo R4(CDEA) , en el cual CDE es clave,
pero A D viola BCNF, ya que A no es superclave.
Por tal motivo, como esa dependencia es la causante de problemas, descomponemos
utilizando el algoritmo para llevar a BCNF, usando la dependencia A D. Obtenemos as:
FR4 = { CDE A , A D } , A D viola BCNF
R4(CDEA)
FR41 = { A D }
Claves: (A) R41 esta en BCNF
R41(AD)
FR42 = { }
Claves: (CEA) R42 esta en BCNF
R42(CEA)
Los esquemas obtenidos estn en BCNF, pero la dependencia CDE A se perdi.
Ejercicio.
f.

R(A,B,C,D,E,H,G) , segn F = { AB CED, C , D , EH G}

Claves de R segn F.
B y H pertenecen a toda clave, ya que no estn a la derecha de ninguna dependencia
funcional.
Analizamos la clausura de este conjunto de atributos, a fin de determinar que se obtiene a
partir de ellos, y no debe incluirse el las claves de R. (Podran utilizarse tcnicas grficas como
las del Practico 6, pero evitaremos estas por ahora.)
(BH)+ = { B, H } (BH) no es clave.
Busco entonces claves con 3 atributos:
(BHA) es clave
(BHA)+ = { B,H,A,C,E,D,G }
(BHC) es clave
(BHC)+ = { B,H,C,A,E,D,G }
(BHD) no es clave
(BHD)+ = { B,H,D,E,G }
+
(BHE) no es clave
(BHE) = { B,H,E,G }
(BHG) no es clave
(BHG)+ = { B,H,G }
Busco claves con 4 atributos:
(BHDE)+ = { B,H,D,E,G } (BHDE) no es clave
(BHDG)+ = { B,H,D,G,E } (BHDG) no es clave
(BHEG) no es clave
(BHEG)+ = { B,H,E,G }
Busco claves con 5 atributos:
debido a que (BHDE)+ = { B,H,D,E,G } (BHDE) no es clave
(BHDEG)+ = { B,H,D,E,G }
Se deduce entonces que las claves son (BHA) y (BHC)

g. Hallar un cubrimiento minimal de F en R. Mostrar los pasos seguidos.


1. Primer paso, llevar todas las dependencias funcionales a la forma X Att, donde Att es un
solo atributo.
F1 = { AB C, AB E, AB D, C A, D E, EH G }
2. Segundo paso, eliminar atributos redundantes a la izquierda.
(A)+ = {A} B no es redundante en AB C, AB E y AB D
(B) + = {B} A no es redundante en AB C, AB E y AB D
(E) + = {E} H no es redundante en EH G
(H) + = {H} E no es redundante en EH G
15

F 2 = F1
3. Tercer paso, eliminacin de dependencias redundantes
F' = F2 { AB C }; (AB)+F, = {A,B,E,D} AB C no es una dependencia redundante en
F2
F' = F2 { AB E }; (AB)+F, = {A,B,C,E,D} AB E es una dependencia redundante en
F2
F3 = F'
F' = F3 { AB D }; (AB)+F, = {A,B,C} AB D no es una dependencia redundante en F3
F' = F3 { C A }; (C)+F, = {C} C A no es una dependencia redundante en F3
F' = F3 { D E }; (D)+F, = {D} D E no es una dependencia redundante en F3
F' = F3 { EH G }; (EH)+F, = {E,H} EH G no es una dependencia redundante en F3
Se concluye entonces que
Fminimal = F3 = { AB C, AB D, C A, D E, EH G }
h. Sea la descomposicin:
R(A,B,C,D,E,H,G)F = { AB CED, C , D , EH G}
FR1 = { AB D, D E }
R1(A,B,D,E)
FR2 = { AB C, C A }
R2(A,B,C,H,G)
4. Es una descomposicin con join sin prdida ?
R1 R2 = (AB), R1 R2 = (DE) y R2 R1 = (CHG)
AB DE F+ Por la propiedad LJ1 la descomposicin es con join sin prdida.
5. Preserva las dependencias ?
R1(F) = FR1 = { AB D, D E }, R2(F) = FR2 = { AB C, C A }
K = { AB D, D E } { AB C, C A }
considero la dependencia EH G; (EH)+K = { E,H }
por lo que al no estar G en el resultado de la clausura, no se conservan las dependencias.
6. En qu forma normal se encuentran R1 y R2 ?
R1(A,B,D,E), (AB) nica clave.
D E es una dependencia transitiva viola 3NF R1 est en 2NF
R2(A,B,C,H,G), { (ABHG) ,(CBHG) } son claves
AB C , donde (AB) no es superclave viola BCNF. No hay dependencias transitivas ni
parciales (todos los atributos son primos) R2 est en 3NF
i.

Llevar R a 3NF con join sin prdida y preservacin de dependencias.


Utilizando el algoritmo visto en terico, y partiendo del conjunto minimal planteado, llegamos a:
1. Fminimal = F3 = { AB C, AB D, C A, D E, EH G }
2. Se juntan en un nico esquema relacin todas las dependencias de la forma X Ai, para
formar
R(X,A1,A2,...,An)
Obtenemos: { R1(A,B,C,D) , R2(C,A) , R3(D,E) , R4(E,H,G) }
3. Se colocan todos los atributos que no se colocaron antes, en un nico esquema de
relacin.
No se da en este caso. Podemos simplificar la descomposicin, quitando los subesquemas
incluidos dentro de otros.
Obtenemos: { R1(A,B,C,D) , R2(D,E) , R3(E,H,G) }
4. Si ninguno de los subesquemas contiene una clave de R, se agrega un esquema relacin
mas que contenga los atributos que forman una clave de R.
Se agrega un esquema con la clave de R, R5(B,H,A)
Se obtiene entonces:
R(A,B,C,D,E,H,G)
F = { AB CED, C , D , EH G}
16

R1(A,B,C,D) FR1 = { AB CD, C }


FR2 = { D }
R2(D,E)
R3(E,G,H) FR3 = { EH G}
R4(A,B,H) FR4 = { }
3NF = { (ABCD), (DE), (EGH), (BHA) }
j. Llevar la descomposicin de la parte d. a BCNF con join sin prdida. Indicar si se pierden
dependencias funcionales y cuales.
En la descomposicin anterior slo R1(A,B,C,D) est en 3NF, los dems estn en BCNF.
R1 est en 3NF y no en BCNF, ya que la dependencia C A viola BCNF (C no es
superclave).
Por lo tanto descomponemos est en dos:
FR1 = { AB CD, C }, Claves: (AB, BC) , C A viola BCNF
R1(A,B,C,D)
R11(B,C,D)
FR11 = { } , Clave: (BCD)
R12(C,A) FR12 = { C A } , Clave: (C)
BCNF = { (BCD), (CA), (DE), (EGH), (BHA) }
Aclaramos que: La nueva descomposicin tiene join sin prdida, ya que la anterior
descomposicin a 3NF tena jsp. Sin embargo, si se pierden dependencias, ya que antes de
aplicar el algoritmo se dispona de:
R1(A,B,C,D)
F1 = { AB C, AB D, C A }
R2(D,E)
F3 = { D E }
F4 = { EH G }
R4(B,H,A)
F5 = { }
R3(E,H,G)
Donde claramente la unin de las proyecciones de las dependencias funcionales, es el
conjunto minimal de partida (Fminimal), por lo que las dependencias se preservan. Sin embargo,
al particionar R1, se obtiene R11(B,C,D) FR11 = { } con lo que las dependencias { AB C, AB
D } se pierden. (se comprueba a simple vista, al unir las proyecciones de las dependencias
en BCNF, y tratar de deducir AB C de dicho conjunto).

Ejercicio 3.
Un club esta organizando un campeonato de tenis individual. A cada persona que se inscribe se le
pide el nombre, la edad, la DNI y la fecha de vencimiento de la ficha mdica. El torneo se juega en
un determinado conjunto de pistas de las que se conoce la direccin de cada una, un cdigo que
las identifica, y si tienen iluminacin o no. A partir de estos datos, se organizan los partidos del
campeonato con los siguientes criterios:
A cada partido se le asigna un cdigo que lo identifica dentro del torneo, una hora, una pista,
dos inscritos diferentes (local y visitante), una etapa (eliminatorias, octavos, cuartos,
semifinales y final) y un ganador.
No se pueden jugar dos partidos a la misma hora en la misma pista.
En cada etapa, cada jugador juega un solo partido.
a. De la realidad planteada, se identifican las siguientes dependencias funcionales
"A cada persona que se inscribe se le pide el nombre, la edad, la DNI y la fecha de vencimiento
de la ficha mdica." DNI nombre, edad, fechavencimiento
"El torneo se juega en un determinado conjunto de pistas de las que se conoce la direccin de
cada una, un cdigo que las identifica, y si tienen iluminacin o no"
cdigopista direccin, con_iluminacin
17

"A cada partido se le asigna un cdigo que lo identifica dentro del torneo, una hora, una pista,
dos inscritos diferentes (local y visitante), una etapa (eliminatorias, octavos, cuartos,
semifinales y final) y un ganador."
cdigopartido hora , cdigopista , DNIlocal , DNIvisitante , etapa , DNIganador
"No se pueden jugar dos partidos a la misma hora en la misma pista."
hora , cdigopista cdigopartido
"En cada etapa , cada jugador juega un solo partido."
DNIlocal , etapa cdigopartido,

DNIvisitante , etapa cdigopartido

Adems debe tenerse en cuenta, que los jugadores locales y visitantes, son en realidad DNIs,
son los mismos atributos, con distinto nombre, por lo que pueden deducirse las siguientes
dependencias:
DNIlocal DNI, DNI DNIlocal, DNIvisitante DNI, DNI DNIvisitante ,
DNIganador DNI, DNI DNIganador
b. Teniendo en cuenta las dependencias encontradas, indicar en que forma normal se
encuentra el esquema que contiene todos los atributos. Si no se encuentra en una forma
normal "aceptable", normalcela hasta que as lo considere. Justifique las respuestas.
Renombrando el conjunto de atributos, tendremos:
Nombre Atrib Nombre
Atrib Nombre
DNI
Edad
cdigopista
C
E
nombre N
fechavencimiento FV
direccin
con_iluminac

Atrib
CC
D
CI

Nombre
cdigopartido
hora
DNIganador

Atrib
CP
H
CG

Nombre
DNIlocal
DNIvisitante
etapa

Atrib
CL
CV
E

Obtenemos el esquema relacin R sobre F con: R(C, N, E, FV, CC, D, CI, CP, H, CG, CL, CV, E)
segn F = { C N, E, FV ; CC D, CI ; CP H, CC, CL, CV, E, CG ; H, CC CP; CL, E
CP ; CV, E CP; CG, E CP; CL C; CV C; CG C; C CL; C CV; C
CG }
En vez de realizar el proceso acostumbrado de normalizacin, realizaremos antes un anlisis de
las dependencias, a fin de determinar si no resulta ms sencillo comenzar a normalizar
directamente, en forma intuitiva, pero justificando correctamente los resultados. Obtendremos una
descomposicin en 3NF con join sin prdida y sin prdida de dependencias.
Inicialmente se pueden formar los siguientes esquemas (incluyendo la proyeccin de las
dependencias):
INSCRITOS (C, N, E, FV) FINSCRITOS { C N, E, FV } Claves: (C)
Claves: (CC)
PISTAS (CC, D, CI) FPISTAS { CC D, CI }
PARTIDOS (CP, H, CC, CL, CV, E, CG ): Claves: { (CP) , (CC,H) , (CL,E), (CV,E) , (CG,E)}
FPARTIDOS { CP H, CC, CL, CV, E, CG ; CC, H CP ;CL, E CP ; CV, E CP ; CG, E CP
}
DNI (C,CL,CG,CV) : Claves: { (C), (CC), (CV), (CG) }
FDNI { CL C, CV C, CG C, C CL, C CV, C CG }
Hay que tener presente que los atributos CL, CV y CG son DNIs de inscritos, motivo por el cual se
cre la relacin PISTAS.
18

INSCRITOS est en BCNF, ya que la nica dependencia que se cumple sobre esta tiene a la
izquierda una clave. La misma situacin se da con PISTAS. En partidos, (CP) es una clave, por lo
que (CC,H), (CL,E), (CV,E) y (CG,E) tambin son claves porque determinan a (CP). De esta forma,
Partidos tambin est en BCNF.
DNI tambin esta en BCNF, ya que todos los atributos de la tabla son claves por si solos, motivo
por el cual todas las dependencia de FDNI tienen a la izquierda atributos que son superclaves.
Por lo tanto, la descomposicin propuesta estn en BCNF y por lo tanto en 3NF y como todas las
dependencias caen en un determinado subesquema, la unin de todas estas ser el conjunto
original de dependencias , por lo que se preservan las dependencias funcionales.
Queda por verificar si cumple la propiedad de join sin prdida. En este caso particular, se puede
observar que los joins posibles con sentido son entre INSCRITOS y CEDULAS ,entre PISTAS y
PARTIDOS y entre DNI y PARTIDOS. De esta forma se puede aplicar la propiedad DSPS1:
PISTAS PARTIDOS = { C }
PISTAS PARTIDOS = { DC,I}
Como se verifica que C DC,I entonces este join es sin prdida.
DNI PARTIDOS = { CL,CG,CV }
DNI PARTIDOS = { C }
Como se verifica que CL,CG,CV C , entonces este join es sin prdida.
INSCRITOS DNI = { C }
DNI INSCRITOS = { CL,CG,CV }
Como se verifica que C CL,CG,CV entonces este join es sin prdida.
Se deduce entonces que el esquema obtenido est en BCNF, preservando las dependencias
originales, asegurando adems el join sin perdida.
Ejercicio 4.
Se quiere modelar una base de datos de informacin histrico-poltica e histrico-administrativa de las
calles de una ciudad, as como informacin sobre los hospitales y zonas deportivas sobre las mismas.
La informacin histrico-poltica de inters se refiera al ao en que fue inaugurada la calle as como el
nombre del intendente en ejercicio.
La informacin histrico-administrativa que se desea mantener es la identificacin del plano de
construccin de la calle en cuestin, as como la empresa constructora que estuvo a cargo del diseo
de dicho plano. El plano de construccin de la calle consiste del diseo de la misma y el identificador
del plano es una referencia que se utiliza a fin de ubicarlo en el archivo de planos que mantiene la
intendencia. Desde ahora al plano de construccin lo llamaremos simplemente plano de la calle.
Se sabe que una calle tiene tanto un nmero de calle como un nombre y que cada uno identifica a la
calle. El nmero de calle determina en forma nica tanto el nombre de la calle como el identificador
del plano de la calle y la empresa constructora. A su vez el nmero de la calle y la identificacin del
plano de la calle y la empresa constructora son nicos dado el nombre de la calle.
El nombre de la calle fue elegido durante el ejercicio de un intendente, es decir que el nombre del
intendente queda determinado por el nombre de la calle.
Dado el nombre y el nmero de la calle y el nombre del intendente queda determinado el ao de
inauguracin de la calle.
Se sabe que una identificacin del plano de una calle puede describir a distintas calles, pero un plano
es diseado por una nica empresa constructora.
Las mismas empresas que se encargaron de disear los planos de las calles, construyeron hospitales
y zonas deportivas. En la construccin de un hospital de una zona deportiva designa un nico
ingeniero responsable. A su vez dichos ingenieros trabajan en una nica empresa constructora.
Atributo
NC
NRO
IP
NI

Descripcin
Nombre calle
Nmero calle
Identificacin plano
Nombre intendente

Atributo
EC
HO
ZD
ING

Descripcin
Empresa constructora
Hospital
Zona deportiva
Ingeniero

f.

Tenemos

19

Por lo tanto, el esquema relacin universal ser de la forma:


R(NRO,NC,ID,EC,NI,AI,IP,ING,HO,ZD)
Se identifican las siguientes dependencias funcionales:
"Se sabe que una calle tiene tanto un nmero de calle como un nombre y que cada uno identifica
a la calle."
"El nmero de calle determina en forma nica tanto el nombre de la calle como el identificador del
plano de la calle y la empresa constructora. "
"A su vez el nmero de la calle y la identificacin del plano de la calle y la empresa constructora
son nicos dado el nombre de la calle."
"El nombre de la calle fue elegido durante el ejercicio de un intendente, es decir que el nombre del
intendente queda determinado por el nombre de la calle."
NRO NC,IP,EC; NC NRO,IP,EC,NI
"Dado el nombre y el nmero de la calle y el nombre del intendente queda determinado el ao de
inauguracin de la calle." NC,NRO,NI AI
"Se sabe que una identificacin del plano de una calle puede describir a distintas calles, pero un
plano es diseado por una nica empresa constructora."; IP EC
"En la construccin de un hospital de una zona deportiva de ftbol designa un nico ingeniero
responsable."; HO EC,ING; ZD EC,ING
"A su vez dichos ingenieros trabajan en una nica empresa constructora."; ING EC
g. Hallar todas las claves.
HO y ZD solo aparecen a la izquierda de las dependencias en F, por lo tanto ambos estarn
presentes en todas las claves de R.
(HO,ZD)+ = {HO,ZD,EC,ING}
Buscamos claves de 3 atributos:
(HO,ZD,NC)+ = {HO,ZD,NC,NRO,IP,EC,NI,AI,ING} = R
(HO,ZD,NRO)+ = {HO,ZD,NRO,NC,IP,EC,NI,AI,ING} = R
(HO,ZD,IP)+ = {HO,ZD,EC,ING,IP}
(HO,ZD,NI)+ = {HO,ZD,EC,ING,NI}
(HO,ZD,AI)+ = {HO,ZD,EC,ING,AI}
Con tres atributos, (HO,ZD,NC) y (HO,ZD,NRO) son clave de R
Buscamos claves con cuatro atributos.
Considero (R {NRO,NC})
(R {NRO,NC})+ = { HO,ZD,ING,AI,EC,NI,IP }
Por lo tanto se ve clausurando todos los atributos de la relacin salvo NRO y NC, estos no se
obtienen en el resultado. Esto indica que en cualquier candidato a clave debe tenerse al menos
HO, ZD y NRO o HO, ZD y NC
Sin embargo, con estos tres, caemos en alguna de las dos claves anteriores. Por lo tanto, las
nicas claves son: K = { (HO,ZD,NC) , (HO,ZD,NRO) }
h. Se aplica el algoritmo de terico para llegar a un cubrimiento minimal de F.
1. Primer paso, obtener dependencias con un solo atributo a la derecha
F1 = { NRO NC; NRO ID; NRO EC; NC NRO
NC IP; NC EC; NC NI; NC,NRO,NI AI; IP EC; ING EC
HO EC; HO ING; ZD EC ; ZD ING }
2.

Segundo paso, eliminar atributos redundantes a la izquierda en las dependencias


La nica dependencia donde pueden existir problemas es: NC,NRO,NI AI
F2 = ( F1 { NC,NRO,NI AI } ) { NC AI }
NC+F2 = { NC,NRO,NI,NC,AI } NRO,NI son redundantes.
20

(observar que tambin pudo haberse retirado NC y NI, y aun con estos obtener AI. Esto
indica que el conjunto minimal no ser nico)
Obtenemos
F2 = { NRO NC; NRO IP; NRO EC; NC NRO
NC IP; NC EC; NC NI; NC AI; IP EC
ING EC; HO EC; HO ING; ZD EC; ZD ING
3. Tercer paso, eliminacin de dependencias redundantes.
Antes de empezar a testear cada una de las dependencias, analizamos la situacin antes.
NC NI ; NC AI
Estas son las nicas dependencias en donde NI y AI aparecen, y aparecen a la derecha. Por
lo tanto estas dos no pueden ser nunca eliminadas.
F' = F2 { NRO NC }; (NRO)+F, = {NRO,IP,EC} NRO NC no es redundante en F2
F' = F2 { NRO IP }; (NRO)+F, = {NRO,IP,EC,NC} NRO IP es redundante en F2
F3 = F'
F' = F3 { NRO EC }, (NRO)+F, = {NRO,NC,EC} NRO EC es redundante en F3
F4 = F'
F' = F4 { NC NRO }; (NC)+F, = {NC,IP,EC,NI,AI} NC NRO no es redundante en F4
F' = F4 { NC IP }; (NC)+F, = {NRO,NC,NI,EC,AI} NC IP no es redundante en F4
F' = F4 { NC EC }; (NC)+F, = {NRO,NC,IP,NI,AI,EC} NC EC es redundante en F4
F5 = F'
F' = F5 { IP EC }; (IP)+F, = {IP} IP EC no es una dependencia redundante en F5
F' = F5 { ING EC }; (ING)+F, = {ING} ING EC no es una dependencia redundante
en F5
F' = F5 { HO EC }; (HO)+F, = {HO,ING,EC} HO EC es redundante en F5 , la
quitamos
F6 = F'
F' = F6 { HO ING }; (HO)+F, = {HO} HO ING no es una dependencia redundante en
F6
F' = F5 { ZD EC }; (ZD)+F, = {ZD,ING,EC} ZD ING es redundante en F6 , la
quitamos
F7 = F' ; F' = F7 { ZD ING }; (HO)+F, = {ZD} ZD ING no es redundante en F7
Por lo tanto, el conjunto minimal obtenido es:
Fminimal = { NRO NC, NC NRO, NC IP, NC NI, NC AI, IP EC, ING EC,
HO ING, ZD ING }
i.

Llevamos a 3NF
Aplicamos el algoritmo para obtener una descomposicin de R en 3NF
Tenemos:
Fminimal = { NRO NC, NC NRO, NC IP, NC NI, NC AI, IP EC, ING EC,
HO ING, ZD ING }
Obtenemos al principio:
{ R1 (NRO, NC), R2 (NC, NRO), R3 (NC, IP), R4 (NC, NI), R5 (NC, AI), R6 (IP, EC), R7 (ING, EC),
R8 (HO, ING), R9 (ZD, ING) }
Simplificamos
{ R1 (NRO, NC). R3 (NC, IP, NI, AI), R6 (IP, EC), R7 (ING, EC), R8 (HO, ING), R9 (ZD, ING) }
Agregamos un esquema asociado a una de las claves de R
R10 (NC,ZD,HO)
Proyectamos las dependencias de Fminimal en el esquema obtenido:
F = { NRO NC, NC NRO }
claves: { (NRO) ,(NC) }
R1 (NRO, NC)
clave: { (NC) }
R3 (NC, IP, NI, AI) F = { NC ID, NC NI, NC NI }
F = { IP EC }
clave: { (IP) }
R6 (IP, EC)
21

R7 (ING, EC)
F = { ING EC }
clave: { (ING) }
F = { HO ING }
clave: { (HO) }
R8 (HO, ING)
F = { ZD ING }
clave: { (ZD) }
R9 (ZD, ING)
R10 (NC,ZD, HO) F = { }
clave: { (NC,ZD,HO) }
No se pierde ninguna dependencia funcional, ya que la unin de las proyecciones es igual al
conjunto minimal, con lo que sern inmediatamante son equivalentes.
R1 (NRO, NC)
R3 (NC, IP, NI, AI)
R6 (IP, EC)
R7 (ING, EC)
R8 (HO, ING)
R9 (ZD, ING)
R10 (NC,ZD, HO)
j.

Llevamos a BCNF con join sin prdida.


Para cada subesquema de la descomposicin anterior, todas las dependencias de estos tienen a
la izquierda solo superclaves, por lo que estos estarn en BCNF, con lo que la descomposicin
obtenida esta en BCNF

22

DISEO DE BASES DE DATOS. DEPENDENCIAS FUNCIONALES. Ejercicios 1.


Nota:
A, B, C, D, E, G, H , I son considerados atributos atmicos.
W, X, Y , Z son considerados conjuntos de atributos atmicos.
Ejercicio 1. Sea R(A,B,C,D,E) con F = { A B, B D, C E, E B }.
Cules de las siguientes relaciones de R satisfacen F ?.
b.
c.
a.
A B C D E
A B C D E
A B C D E
a1 b1 c1 d1 e1
a1 b1 c1 d1 e1
a1 b1 c1 d1 e1
a2 b2 c2 d1 e1
a2 b2 c2 d1 e2
a1 b1 c2 d1 e1
Ejercicio 2. Indicar cuales de las siguientes derivaciones para dependencias funcionales son vlidas
demostrando o usando un contraejemplo.
i. { X Y, Z Y } XZ Y.
j.{ XZ Y } X Y.
k. { XZ Y, X Z } X Y.
l. { Z W , X Y } XZ YW.

m.
n.
o.
p.

{ XY Z, Z X } Z Y.
{ X Y, Y Z } X YZ.
{ X Y, W Z, W Y } X Z.
{ XY Z, Y W } XW Z

Ejercicio 3. Sea R(A,B,C,D,E,G,H,I) y F = {AB CH, CD B, B GAE, H DI }. Calcular:


h. A+
j.(CD) +
l. (BE) +
n. (ABH) +
+
+
+
i. B
k. (BEI)
m.
(HA)
Ejercicio 4. Sea F = { AB C, C D, B C, C E, HB D }. Decir cuales de las siguientes
dependencias funcionales estn en F+:
h. B D
i. E D

j.C DE
k. A C

l. HA CD
m.
CD E

n. A D

Ejercicio 5. Sea R(A B C D E G) y F = { AB D, CD G, E A, A C, BG C, D A }


e. Hallar las clausuras de los siguientes conjuntos de atributos
7. (AD)
9. (BC)
11. (B)
8. (D)
10. (EB)
12. (EBC)
f. Alguno de los conjuntos anteriores es superclave ?.
g. Alguno es clave ?.
h. Hallar todas las claves de R segn F.
Ejercicio 6. Sea R(A, B, C, D, E, G, H) y el conjunto de dependencias funcionales
F = { AB CDE, C A, D E, H E, HE G }
Hallar todas las claves. Justificar la respuesta.
Ejercicio 7. Sea R(A,B,C,D,E,G,H,I) y el conjunto de dependencias funcionales
F = { A B, B C, E I, EGC B, G H , B A }.
Dar todas las claves de R segn F.
23

Ejercicio 8. Sea R(A,B,C,D,E) y F = { AB C, C DE, E C }.


Decir cules de los conjuntos de dependencia funcionales son equivalentes a F. En caso de no serlo
dar relaciones de R que ejemplifiquen este hecho.
e. F1 = { AB CDE, E CD, C D }.
f.F2 = { AB D, D C, C DE, E C }.
g. F3 = { AB CDE, C D, C E, E C, E D }.
h. F4 = { A C, B C, C DE, E C }.
Ejercicio 9. Hallar recubrimientos minimales de los siguientes conjuntos.
e. {A , B C , C D , D E , E A , A C , C , E , B D , D }.
f.{A , AE D, B C, DH C, C D, CG B, D A, BF }.
Normalizacin.
Ejercicio 10. Sea el esquema relacin R(A, B, C, D, E, G, H) con A, B, C, D, E, G, y H atributos atmicos y
el conjunto de dependencias funcionales:
F = { CDGEB, ABC, AD, ABCE, BE, CDEA }
k. Hallar todas las claves. Justificar la respuesta.
l. Hallar un recubrimiento minimal de F en R. Mostrar los pasos seguidos.
m. Dada la descomposicin = (R1, R2) siendo: R1 (A, B, C, E) y R2 (C, D, E, G, H)
Decir si (Justificar adecuadamente todas las respuestas):
7. Es descomposicin con join sin prdida?
8. Preserva dependencias?
9. En que forma normal se encuentra R1 y R2 ?
n. Utilizando F, llevar R a 3NF con join sin prdida y preservacin de dependencias.
o. Llevar la descomposicin de la parte d. a FNBC con join sin prdida. Indicar si se pierden dependencias
funcionales y cuales.
Ejercicio 11. R(A,B,C,D,E,H,G) , F = { AB CED, C , D , EH G}
k. Claves de R segn F.
l. Hallar un recubrimiento minimal de F en R. Mostrar los pasos seguidos.
m. Sea la descomposicin:
R(A,B,C,D,E,H,G) F = { AB CED, C , D , EH G}
FR1 = { AB D, D E }
R1(A,B,D,E)
FR2 = { AB C, C A }
R2(A,B,C,H,G)
7. Es una descomposicin con join sin prdida ?
8. Preserva las dependencias ?
9. En qu forma normal se encuentran R1 y R2 ?
n. Llevar R a 3NF con join sin prdida y preservacin de dependencias.
o. Llevar la descomposicin de la parte d. a BCNF con join sin prdida. Indicar si se pierden dependencias
funcionales y cuales.
Ejercicio 12. Un club esta organizando un campeonato de tenis individual. A cada persona que se inscribe se le
pide el nombre, la edad, el DNI y la fecha de vencimiento de la ficha mdica. El torneo se juega en un
determinado conjunto de pistas de las que se conoce la direccin de cada una, un cdigo que las identifica, y si
tienen iluminacin o no. A partir de estos datos, se organizan los partidos del campeonato con los siguientes
criterios.
A cada partido se le asigna un cdigo que lo identifica dentro del torneo, una hora, una pista, dos
inscriptos diferentes (local y visitante), una etapa (eliminatorias, octavos, cuartos, semifinales y final) y
un ganador.
No se pueden jugar dos partidos a la misma hora en la misma pista.
En cada etapa, cada jugador juega un solo partido.
k. Indicar las dependencias funcionales que se cumplen en esta realidad.

24

l.

Teniendo en cuenta las dependencias encontradas, indicar en que forma normal se encuentra el esquema
que contiene todos los atributos. Si no se encuentra en una forma normal "aceptable", normalcela hasta
que as lo considere. Justifique las respuestas.

Ejercicio 13. Se quiere modelar una base de datos de informacin histrico-poltica e histrico-administrativa de
las calles de una ciudad, as como informacin sobre los hospitales y zonas deportivas sobre las mismas.
La informacin histrico-poltica de inters se refiera al ao en que fue inaugurada la calle as como el nombre
del intendente en ejercicio.
La informacin histrico-administrativa que se desea mantener es la identificacin del plano de construccin de
la calle en cuestin, as como la empresa constructora que estuvo a cargo del diseo de dicho plano. El plano
de construccin de la calle consiste del diseo de la misma y el identificador del plano es una referencia que se
utiliza a fin de ubicarlo en el archivo de planos que mantiene la intendencia. Desde ahora al plano de
construccin lo llamaremos simplemente plano de la calle.
Se sabe que una calle tiene tanto un nmero de calle como un nombre y que cada uno identifica a la calle. El
nmero de calle determina en forma nica tanto el nombre de la calle como el identificador del plano de la calle
y la empresa constructora. A su vez el nmero de la calle y la identificacin del plano de la calle y la empresa
constructora son nicos dado el nombre de la calle.
El nombre de la calle fue elegido durante el ejercicio de un intendente, es decir que el nombre del intendente
queda determinado por el nombre de la calle.
Dado el nombre y el nmero de la calle y el nombre del intendente queda determinado el ao de inauguracin
de la calle.
Se sabe que una identificacin del plano de una calle puede describir a distintas calles, pero un plano es
diseado por una nica empresa constructora.
Las mismas empresas que se encargaron de disear los planos de las calles, construyeron hospitales y zonas
deportivas. En la construccin de un hospital de una zona deportiva designa un nico ingeniero responsable.
A su vez dichos ingenieros trabajan en una nica empresa constructora.
m.
n.
o.
p.
q.

Identifiquen las dependencias funcionales.


Hallar todas las claves.
Obtenga un cubrimiento minimal de F.
Obtenga esquema en FN3.
Obtenga esquema en FNBC.

25

DISEO DE BASES DE DATOS

DEPENDENCIAS FUNCIONALES

Ejercicio 1. Se tiene R(A,B,C,D,E) con F = { A B, B D, C E, E B }.

26

a.
A B
a1 b1
a2 b2

C
c1
c2

D
d1
d1

E
e1
e1

A B
a1 b1
a2 b2

C
c1
c2

D
d1
d1

E
e1
e2

A B
a1 b1
a1 b1

C
c1
c2

D
d1
d1

E
e1
e1

No satisface F. Viola E B , ya que si la primer tupla se denomina t , y la


segunda u , se tendr que:
t[E] = u[E] = e1 , pero t[B] u[B]
con lo que no se cumple la definicin de dependencia funcional.

b.

c.

Satisface F, trivialmente, ya que para todo par de tuplas u, t en esta


instancia de R y para toda dependencia funcional Att1 Att2 en F, se
cumple que: t[Att1] = u[Att1] con lo que la definicin de dependencia
funcional ser valida en todos los casos.
Satisface F, ya que para todo par de tuplas u, t en esta instancia de R y
para toda dependencia funcional Att1 Att2 en F, se cumple que:
t[Att1] = u[Att1] t[Att2] = u[Att2]
es verdadero para toda combinacin de Att1 y Att2 elegidas.

Se tendrn: (como antes, t es la primer tupla, u la segunda)


t[A] = u[A] = a1 y t[B] = u[B] = b1
A B:
t[B] = u[B] = b1 y t[D] = u[D] = d1
B D:
t[C] = u[C] , por lo que se cumple trivialmente
C E:
t[E] = u[E] = e1 y t[B] = u[B] = b1
E B:
Ejercicio 2. Aplicando las reglas de Armstrong se tendr que:
i.

{ X Y, Z Y } XZ Y
Se cumple
X Y ZX YZ
ZX YZ ZX Y

Aumento
Descomposicin

X Y Z
j. { XZ Y } X Y
x1
y1 z1
No se cumple. Ver este contraejemplo: R(X,Y,Z)
x1 y2 z2
Esta relacin satisface XZ Y, pero no
satisface X Y.
k. { XZ Y, X Z } X Y
Se cumple
Reflexiva (X X)
XX
{ X Z , X X } X XZ
Unin
{ X XZ , XZ Y } X Y
Transitiva
l. { Z W , X Y } XZ YW.
Se cumple
X Y XZ YZ
Z W ZY WY
{ XZ YZ , YZ WY } XZ YW.

Aumento
Aumento
Transitiva

m. { XY Z, Z X } Z Y
No se cumple. Ver el siguiente contraejemplo:
R(X,Y,Z)
Esta relacin satisface XY Z y Z X, pero
no satisface Z Y.
n. { X Y, Y Z } X YZ
Se cumple
{ X Y, Y Z } X Z

X Y Z
x1 y1 z1
x1 y2 z1

Transitiva

{ X Z , X Y } X YZ
o. { X Y, W Z, W Y } X Z
Se cumple
YW
{ X Y ,Y W, W Z } X Z

Unin

Reflexiva (Y W)
Transitiva dos veces

p. { XY Z, Y W } XW Z
No se cumple. Ver el siguiente contraejemplo:
R(W,X,Y,Z)Esta relacin satisface XY Z y Y
W pero no satisface XW Z.

w1 x1
w1 x1

y1
y2

z1
z2

W X Y Z
Ejercicio 3.
Sea R(A,B,C,D,E,G,H,I) y F = { AB CH, CD B, B GAE, H DI }.
En cada uno de los casos siguientes se determinaran las clausuras de cada conjunto de atributos a
travs de los axiomas de Armstrong. La idea al aplicar la clausura es tratar de obtener los dems
atributos de la relacin, por lo que siempre trataran de inferirse estos a travs de aplicaciones de las
reglas anteriores.
h. (A)+ = { A }
Considero el conjunto de partida{ A }
Reflexiva (A A)
{A} A A
Partiendo de A, no es posible inferir otros atributos distintos de la relacin R.
En este caso, considerando el grafo de dependencias funcionales, se observa claramente que no
es posible "escaparse" del nodo A, por lo que la clausura estar compuesta solo por A.
i.

(B)+ = { B, G, A, E, C, H, D, I }
Considero el conjunto de partida { B }
{B} B B
{ B } B GAE
el conjunto de trabajo pasa a:
{ B,G,A,E } AB CH
el conjunto de trabajo pasa a:
{ B,G,A,E,C,H } H DI
el conjunto de trabajo pasa a:
{ B,G,A,E,C,H,D,I }

Reflexiva (B B)
dependencia funcional en F
dependencia funcional en F
dependencia funcional en F

Se finaliza el proceso debido a que el resultado es el esquema de la relacin. Para los dems
casos, el mecanismo formal para deducir la clausura, es utilizar las reglas de Armstrong, pero como
ayuda puede utilizarse el grafo de dependencias funcionales. Planteamos a continuacin los
resultados de las clausuras.
j.
k.
l.
m.
n.

(CD) + = { C, D, B, G, A, E, H, I }
(BEI) + = { B, E, I, G, A, C, H, D }
(BE) + = { B, E, G, A, C, H, D, I }
(HA) + = { H, A, D, I }
(ABH) + = { A, B, H, C, D, I, B , E }

Ejercicio 4. Sea F = { AB C, C D, B C, C E, HB D }.
Se van a calcular los X+F correspondientes a cada dependencia funcional X Y F, utilizando las
mismas tcnicas que en Ej. anterior. Se concluir que esta dependencia funcional
X Y F+ en caso de que Y X+.
h. (B) + = { B, C, D, E }, D B+ (B D) F+.

28

i.
j.
k.
l.
m.
n.

(E) + = { E }, D E+ (E D) F+.
(C) + = { C, D, E }, D,E C+ (C DE) F+.
(A) + = { A }, C A+ (A C) F+.
(HA) + = { H, A }, C,D (HA) + (HA CD) F+.
(CD) + = { C, D, E }, E (CD) + (CD E) F+.
(A) + = { A }, D A+ (A D) F+.

29

Ejercicio 5. Sea R(A B C D E G) y F = { AB D, CD G, E A, A C, BG C, D A }.


a. Se aplican las mismas tcnicas obtenidas de los ejercicios anteriores.
7. (AD) + = { A , D, C, G }
10. (EB) + = { E, B, A, C, D, G }
+
8. (D) = { D, A, C, G }
11. (B) + = { B }
9. (BC) + = { B, C }
12. (EBC) + = { E, B, C, A, D, G }
e. Los conjuntos (EB) y (EBC) son superclave, ya que su clausura contiene a todos los atributos de la
relacin.
f. El conjunto que podra ser clave es (EB), pero primero hay que verificar que no contiene una clave.
(E) + = { E, A, C } no es clave. (B) + = { B } no es clave. (EB) es clave
g. B y E no quedan determinados por ningn otro conjunto de atributos, porque nunca aparecen en la
parte derecha de ninguna df por lo que estarn contenidos en todas las claves. Pero (BE) es clave
(por c.), por lo tanto no habr otra clave, porque si la hubiera debera contener a (BE) y entonces
sera superclave.
La nica clave es (BE)
Ejercicio 6. Las siguientes propiedades pueden resultar tiles a la hora de determinar las claves de un
esquema de relacin, as como tambin al obtener recubrimientos minimales y clausuras.
f. Si existe X t.q. X no aparece en ninguna dependencia funcional, entonces X est en toda clave.
Por absurdo, supongo que Z clave tq. X Z.
Si Z es clave, entonces se cumple Z X.
Si Z X entonces, o bien X Z (que contradice la hiptesis), o bien Z X es una df no trivial, lo
cual contradice que X no aparece en ninguna df.
ABSURDO, X pertenece a toda clave.
g. Si existe X t.q. X no est a la derecha de ninguna dependencia funcional, X est en toda clave.
Por absurdo, supongo que Z clave tq. X Z.
Si Z es clave, entonces se cumple Z X.
Si Z X entonces, o bien X Z (que contradice la hiptesis), o bien Z X es una df
no trivial, lo cual contradice que X no aparece a la derecha de ninguna df.
ABSURDO, X pertenece a toda clave.
ACLARACION INTERESANTE: juntando las partes a. y b. , pudo haberse demostrado en primera
instancia la parte b. para luego afirmar que si X no aparece en ninguna dependencia funcional,
entonces obviamente no aparece a la derecha de ninguna dependencia funcional, por lo que por la
parte b. , estar en toda clave.
Ejercicio 6. Sea R(A,B,C,D,E,G,H) y el conjunto de dependencias funcionales
F = { AB CDE, C A, D E, H E, HE G }
Aplicando proposiciones anteriores, se sabe que:
(BH) est en todas las claves, ya que no aparecen del lado derecho de ninguna dependencia funcional.
Verifico si es superclave: (BH) + = { B, H, E, G } BH no es superclave.
Considero los conjuntos de tres atributos que contienen a (BH):
(BHA) + = { B, H, A, E, G, C, D } (BHA) es clave.
(BHC) + = { B, H, C, E, G, A, D } (BHC) es clave.
(BHD) + = { B, H, D, E, G }
Debido a que E y G estn en (BH) +, y (BH) debe estar en toda clave, se deduce que G y E nunca
estarn en alguna clave, ya que estos pueden deducirse siempre. Por esto, en realidad resulta
innecesario hacer:
(BHE) + = { B, H, E, G } (BHG) + = { B, H, G, E }
Existirn ms claves? Si existen contienen a (BH) y no a A ni a C, porque sino seran superclaves.
Entonces considero X = R - {AC} y verifico si es superclave.
X+ = (BDEGH) + = { B, D, E, G, H }, no es superclave, por lo que ningn subconjunto de X lo ser, por lo
que no hay superclaves que no contengan A ni C, por lo que no hay claves que no contengan ni A ni C.
Por lo que no hay mas claves.
Las nicas claves son (BHA) y (BHC).
Ejercicio 7. R(A,B,C,D,E,G,H,I). F = { A B, B C, E I, EGC B, G H, B A }

30

D no est en ninguna df, entonces est en toda clave. H I no estn nunca a la izquierda en dfs,
entonces no sirven para determinar a ningn atributo, entonces no estn en ninguna clave. E y G no
estn a la derecha de ninguna dependencia, entonces estn en toda clave.
Pruebo con (E,G,D), (EGD)+ = { E, D, G, I, H }, no es superclave, entonces no es clave.
Pruebo con claves de cuatro atributos:
(EGDA) + = { D, A, B, C, E, G, I, H } es clave
(EGDB) + = { D, B, C, E, G, I, H, A } es clave
(EGDC) + = { D, C, B, E, I, H, A, G } es clave
No hay mas, pues si no seran superclaves. LAS CLAVES SON: (EGDA), (EGDB), (EGDC).
Ejercicio 8. F = { AB C, C DE, E C }
e. F1 = { AB CDE, E CD, C D } No son equivalentes.
Sea la siguiente relacin: R(A,B,C,D,E)
Satisface F1 pero no F. (C E) F1+
f.

F2 = { AB D, D C, C DE, E C } No son equivalentes.


Sea la siguiente relacin: R(A,B,C,D,E)
Satisface F pero no F2. (D C) F+

A B C D E
a1 b1 c1 d1 e1
a1 b2 c1 d1 e2
A B C D E
a1 b1 c1 d1 e1
a1 b2 c2 d1 e2

g. F3 = { AB CDE, C D, C E, E C, E D }
Son equivalentes. Para eso verificaremos que cada df de un conjunto est en la clausura del otro.
F F3+:
F3 F+ :
(AB) +F3 = { A, B, C, D, E } (AB C) F3+.
(AB) +F = { A, B, C, D, E } (AB CDE) F+.
(C) +F3 = { C, D, E } (C DE) F3+.
(C) +F = { C, D, E } {C D,C E} F+.
+
+
(E) F3 = { E, C, D } (E C} F3 .
(E C) F.
(E)+F = { E, C, D } (E D) F+.
h. F4 = { A C, B C, C DE, E C }
No son equivalentes. Sea la siguiente relacin: R(A,B,C,D,E)
Satisface F pero no F4. (A C, B C) F+

A B C D E
a1 b1 c1 d1 e1
a1 b2 c2 d1 e2

31

Ejercicio 9.
g. {A , B C , C D , D E , E A , A C , C , E , B D, D }.
NOTA: solucin sin algoritmo, consideren el grafo de dependencias.
Buscamos un cubrimiento minimal de este conjunto. Si observamos las dependencias que este
contiene, veremos que el subconjunto: F1 = { A , B C , C D , D E , E A }
forma un ciclo en las dependencias. Por lo tanto, todas estas son esenciales en el cubrimiento.
El otro subconjunto:
F2 = {A C , C , E , B D, D }
forma otro ciclo en las dependencias, pero con respecto al anterior, esta desfasado. Es
anlogo a representar todos los atributos en un grafo, y considerar las dependencias cono
aristas dirigidas desde el atributo a la izquierda, hacia el atributo a la derecha.
Podemos probar que ambos conjuntos son equivalentes: F1 F2+:
Debido a los ciclos presentes en las dependencias, podemos afirmar que:
A+F2 = B+F2 = C+F2 = D+F2 = E+F2 = { A, B, C, D, E } , por lo que
B C F2+. C D F2+. D E F2+. E A F2+.
A F2 + .
F2 F1+:
Como antes, tambin se cumple:
A+F1 = B+F1 = C+F1 = D+F1 = E+F1 = { A, B, C, D, E } , por
lo que
B C F1+. C D F1+. D E F1+. E A F1+.
A F1 + .
Por lo que F2+ = F1+
a su vez, estos dos ltimos conjuntos son minimales, ya que se cumplen las condiciones en la
definicin. Es ms sencillo constatarlo grficamente, ya que eliminar una dependencia es
anlogo a borrar una arista del grafo de dependencias. Lo que suceder, es que no se podr
cerrar el circuito, con lo que el conjunto ya no ser equivalente.
Por lo tanto, los siguientes conjuntos son cubrimientos minimales del conjunto original
F1 = { A , B C , C D , D E , E A }
F2 = {A C , C , E , B D, D }
h. {A , AE D, B C, DH C, C D, CG B, D A, BF }.
El siguiente es el minimal del conjunto anterior:
F = { A , B C, C D, D A}

32

Diseo de bases de datos. Soluciones Normalizacin.


Ejercicio 10. Sea el esquema relacin R(A, B, C, D, E, G, H) con A, B, C, D, E, G, y H atributos
atmicos y el conjunto de dependencias funcionales:
F = { CDGEB, ABC, AD, ABCE, BE, CDEA }
f.

Claves de R segn F: G y H pertenecen a toda clave, ya que no estn a la derecha de


ninguna dependencia funcional. (GH)+ = {G, H} (GH) no es clave.
Busco entonces claves con 3 atributos:
(GHA)+ = {G, H, A, D} (GHA) no es clave; (GHB)+ = { G, H, B, E} (GHB) no es clave
Busco claves con 4 atributos:
(GHAB)+ = {G, H, A, B, D, E, C} (GHAB) es clave ;
(GHAC)+ = {G, H, A, C, D, E, B} (GHAC) es clave ;
(GHAD)+ = {G, H, A, D} (GHAD) no es clave ; (GHAE)+ = {G, H, A, E} (GHAE) no es clave
;
(GHBC)+ = {G, H, B, C} (GHBC) no es clave ; (GHBD)+ = {G, H, B, D, E} (GHBD) no es
clave;
(GHBE)+ = {G, H, B, E} (GHBE) no es clave;
(GHCD)+ = {G, H, C, D, E, B, A} (GHCD) es clave ;
(GHCE)+ = {G, H, C, E} (GHCE) no es clave ; (GHDE)+ = {G, H, D, E} (GHDE) no es
clave;
Busco claves con 5 atributos:
(GHADE)+ = {G, H, A, D. E} (GHADE) no es clave;
(GHBCE)+ = {G, H, B, C, E) (GHBCE) no es clave
(GHBDE)+ = {G, H, B, D, E} (GHBDE) no es clave
Las claves son (GHAB), (GHAC) v (GHCD)

g. Hallar un cubrimiento minimal de F en R. Mostrar los pasos seguidos.


4. Llevar todas las dependencias funcionales a la forma X Att, donde Att es un slo
atributo.
F1 = { CDG E, CDG B, AB C, A D, ABC E, B E, CDE A}
5. Eliminar atributos redundantes a la izquierda.
(B)+F2 = {B, E} A y C son redundantes F2 = ( F1 { ABC E } ) { B E }
F2 = { CDG E, CDG B, AB C, A D, B E, CDE A }
Realizando el mismo procedimiento, se comprueba que la anterior es la nica dependencia
que contiene atributos redundantes a la izquierda.
6. Eliminacin de dependencias redundantes
F' = F2 { CDG E };
(CDG)+F, = {C,D,G,B,E} CDG B es una dependencia redundante en F2 F3 = F'
F' = F3 { CDG B }; (CDG)+F, = {C,D,G} CDG B no es redundante en F3
F' = F3 { AB C }; (AB)+F, = {A,B,D,E} AB C no es redundante en F3
F' = F3 { A D }; (A)+F, = {A} A D no es una dependencia redundante en F3
F' = F3 { B E }; (B)+F, = {B} B E no es una dependencia redundante en F3

33

F' = F3 { CDE A }; (CDE)+F, = {C,D,E} CDE A no es una dependencia redundante


en F3
Se deduce entonces que el conjunto minimal es:
Fminimal = F3 = { CDG B, AB C, A D, B E, CDE A }
h. = (R1, R2 ) siendo : R1(A,B,C,E) y R2 (C,D,E,G,H)
Tendremos:
R(A,B,C,D,E,G,H)
F = { CDG EB, AB C, A D, ABC E, B E, CDE A }
R1(A,B,C,E) R2(C,D,E,G,H)
4. La descomposicin tiene join sin prdida?
R1 R2 = (CE), R1 R2 = (AB) y R2 R1 = (DGH)
CE AB F+ y CE DGH F+
Por la propiedad DPSP1 la descomposicin no tiene join sin prdida.
5. Preserva dependencias? R1(F) = { AB C, B E}, R2(F) = { CDG E} ;
K = { AB C, B E } { CDG E }
Estudiamos si Fminimal K; (CDG)+K = { C,D,G,E} CDG B no se satisface en K Los
conjuntos no son equivalentes, por lo que se puede afirmar que no se preservan las dfs.
6. En que forma normal se encuentra R1 y R2 ?
FR1 = { AB C, B E },
Claves: (AB) R1 est en 1FN
R1(A,B,C,E)
R2(C,D,E,G,H) FR2 = { CDG E }, Claves: (CDGH) CDG E , E depende
parcialmente de
la clave CDGH, y E no es primo, por lo que esta viola
2NF.
El esquema esta en 1NF.
i.

Utilizando F, llevar R a 3NF con join sin prdida y preservacin de dependencias.


R(A,B,C,D,E,G,H), Fminimal = { CDG B, AB C, A D, B E, CDE A }
Claves de R: (GHAB), (GHAC), (GHCD)
Aplicando directamente el algoritmo, obtenemos:
3NF = { (CDGB), (ABC), (AD), (BE), (CDEA) } { (GHAC) }
No se agrega H como subesquema separado, ya que al agregar el esquema que contiene una
clave de R, H queda incluido en l, por lo que no ser necesario tenerlo aparte.
Debido a que (AD) est incluido en (CDEA), eliminamos (AD).
3NF = { (CDGB), (ABC), (BE), (CDEA) } { (GHAC) }

j.

Llevar la descomposicin de la parte d. a BCNF con join sin prdida. Indicar si se


pierden dependencias funcionales y cuales.
R(A,B,C,D,E,G,H)Fminimal = { CDG B, AB C, A D, B E, CDE A }
Se tiene la siguiente descomposicin en 3NF:
FR1 = { CDG B } |
R2(ABC)
FR2 = { AB C }
R1(CDGB)
FR3 = { B E }
|
R4(CDEA)
FR4 = { CDE A , A D }
R3(BE)
R5(GHAC)
FR5 = { }
Si observamos, no se pierden dependencias, y tiene JSP gracias al algoritmo de la parte
anterior. Adems, cada subesquema esta en BCNF, salvo R4(CDEA) , en el cual CDE es clave,
pero A D viola BCNF, ya que A no es superclave.

34

Por tal motivo, como esa dependencia es la causante de problemas, descomponemos


utilizando el algoritmo para llevar a BCNF, usando la dependencia A D. Obtenemos as:
FR4 = { CDE A , A D } , A D viola BCNF
R4(CDEA)
FR41 = { A D }
Claves: (A) R41 esta en BCNF
R41(AD)
FR42 = { }
Claves: (CEA) R42 esta en BCNF
R42(CEA)
Los esquemas obtenidos estn en BCNF, pero la dependencia CDE A se perdi.
Ejercicio 11.
R(A,B,C,D,E,H,G) , segn F = { AB CED, C , D , EH G}
p. Claves de R segn F.
B y H pertenecen a toda clave, ya que no estn a la derecha de ninguna dependencia
funcional.
Analizamos la clausura de este conjunto de atributos, a fin de determinar que se obtiene a
partir de ellos, y no debe incluirse el las claves de R. (Podran utilizarse tcnicas grficas como
las del Practico 6, pero evitaremos estas por ahora.)
(BH)+ = { B, H } (BH) no es clave.
Busco entonces claves con 3 atributos:
(BHA) es clave
(BHA)+ = { B,H,A,C,E,D,G }
(BHC) es clave
(BHC)+ = { B,H,C,A,E,D,G }
(BHD)+ = { B,H,D,E,G } (BHD) no es clave
(BHE) no es clave
(BHE)+ = { B,H,E,G }
(BHG)+ = { B,H,G }
(BHG) no es clave
Busco claves con 4 atributos:
(BHDE)+ = { B,H,D,E,G } (BHDE) no es clave
(BHDG)+ = { B,H,D,G,E } (BHDG) no es clave
(BHEG) no es clave
(BHEG)+ = { B,H,E,G }
Busco claves con 5 atributos:
debido a que (BHDE)+ = { B,H,D,E,G } (BHDE) no es clave
(BHDEG)+ = { B,H,D,E,G }
Se deduce entonces que las claves son (BHA) y (BHC)
q. Hallar un cubrimiento minimal de F en R. Mostrar los pasos seguidos.
4. Primer paso, llevar todas las dependencias funcionales a la forma X Att, donde Att es un
solo atributo.
F1 = { AB C, AB E, AB D, C A, D E, EH G }
5. Segundo paso, eliminar atributos redundantes a la izquierda.
(A)+ = {A} B no es redundante en AB C, AB E y AB D
(B) + = {B} A no es redundante en AB C, AB E y AB D
(E) + = {E} H no es redundante en EH G
(H) + = {H} E no es redundante en EH G
F2 = F1
6. Tercer paso, eliminacin de dependencias redundantes
F' = F2 { AB C }; (AB)+F, = {A,B,E,D} AB C no es una dependencia redundante en
F2
F' = F2 { AB E }; (AB)+F, = {A,B,C,E,D} AB E es una dependencia redundante en
F2
F3 = F'
F' = F3 { AB D }; (AB)+F, = {A,B,C} AB D no es una dependencia redundante en F3
F' = F3 { C A }; (C)+F, = {C} C A no es una dependencia redundante en F3
F' = F3 { D E }; (D)+F, = {D} D E no es una dependencia redundante en F3

35

F' = F3 { EH G }; (EH)+F, = {E,H} EH G no es una dependencia redundante en F3


Se concluye entonces que
Fminimal = F3 = { AB C, AB D, C A, D E, EH G }
r. Sea la descomposicin:
R(A,B,C,D,E,H,G)F = { AB CED, C , D , EH G}
FR1 = { AB D, D E }
R1(A,B,D,E)
FR2 = { AB C, C A }
R2(A,B,C,H,G)
10. Es una descomposicin con join sin prdida ?
R1 R2 = (AB), R1 R2 = (DE) y R2 R1 = (CHG)
AB DE F+ Por la propiedad LJ1 la descomposicin es con join sin prdida.
11. Preserva las dependencias ?
R1(F) = FR1 = { AB D, D E }, R2(F) = FR2 = { AB C, C A }
K = { AB D, D E } { AB C, C A }
considero la dependencia EH G; (EH)+K = { E,H }
por lo que al no estar G en el resultado de la clausura, no se conservan las dependencias.
12. En qu forma normal se encuentran R1 y R2 ?
R1(A,B,D,E), (AB) nica clave.
D E es una dependencia transitiva viola 3NF R1 est en 2NF
R2(A,B,C,H,G), { (ABHG) ,(CBHG) } son claves
AB C , donde (AB) no es superclave viola BCNF. No hay dependencias transitivas ni
parciales (todos los atributos son primos) R2 est en 3NF
s. Llevar R a 3NF con join sin prdida y preservacin de dependencias.
Utilizando el algoritmo visto en terico, y partiendo del conjunto minimal planteado, llegamos a:
5. Fminimal = F3 = { AB C, AB D, C A, D E, EH G }
6. Se juntan en un nico esquema relacin todas las dependencias de la forma X Ai, para
formar
R(X,A1,A2,...,An)
Obtenemos: { R1(A,B,C,D) , R2(C,A) , R3(D,E) , R4(E,H,G) }
7. Se colocan todos los atributos que no se colocaron antes, en un nico esquema de
relacin.
No se da en este caso. Podemos simplificar la descomposicin, quitando los subesquemas
incluidos dentro de otros.
Obtenemos: { R1(A,B,C,D) , R2(D,E) , R3(E,H,G) }
8. Si ninguno de los subesquemas contiene una clave de R, se agrega un esquema relacin
mas que contenga los atributos que forman una clave de R.
Se agrega un esquema con la clave de R, R5(B,H,A)
Se obtiene entonces:
R(A,B,C,D,E,H,G)
F = { AB CED, C , D , EH G}
R1(A,B,C,D) FR1 = { AB CD, C }
FR2 = { D }
R2(D,E)
R3(E,G,H) FR3 = { EH G}
R4(A,B,H) FR4 = { }
3NF = { (ABCD), (DE), (EGH), (BHA) }
t. Llevar la descomposicin de la parte d. a BCNF con join sin prdida. Indicar si se pierden
dependencias funcionales y cuales.
En la descomposicin anterior slo R1(A,B,C,D) est en 3NF, los dems estn en BCNF.

36

R1 est en 3NF y no en BCNF, ya que la dependencia C A viola BCNF (C no es


superclave).
Por lo tanto descomponemos est en dos:
FR1 = { AB CD, C }, Claves: (AB, BC) , C A viola BCNF
R1(A,B,C,D)
R11(B,C,D)
FR11 = { } , Clave: (BCD)
R12(C,A) FR12 = { C A } , Clave: (C)
BCNF = { (BCD), (CA), (DE), (EGH), (BHA) }
Aclaramos que: La nueva descomposicin tiene join sin prdida, ya que la anterior
descomposicin a 3NF tena jsp. Sin embargo, si se pierden dependencias, ya que antes de
aplicar el algoritmo se dispona de:
R1(A,B,C,D)
F1 = { AB C, AB D, C A }
R2(D,E)
F3 = { D E }
F4 = { EH G }
R4(B,H,A)
F5 = { }
R3(E,H,G)
Donde claramente la unin de las proyecciones de las dependencias funcionales, es el
conjunto minimal de partida (Fminimal), por lo que las dependencias se preservan. Sin embargo,
al particionar R1, se obtiene R11(B,C,D) FR11 = { } con lo que las dependencias { AB C, AB
D } se pierden. (se comprueba a simple vista, al unir las proyecciones de las dependencias
en BCNF, y tratar de deducir AB C de dicho conjunto).

Ejercicio 12.
b. De la realidad planteada, se identifican las siguientes dependencias funcionales
"A cada persona que se inscribe se le pide el nombre, la edad, la DNI y la fecha de vencimiento
de la ficha mdica." DNI nombre, edad, fechavencimiento
"El torneo se juega en un determinado conjunto de pistas de las que se conoce la direccin de
cada una, un cdigo que las identifica, y si tienen iluminacin o no"
cdigopista direccin, con_iluminacin
"A cada partido se le asigna un cdigo que lo identifica dentro del torneo, una hora, una pista,
dos inscritos diferentes (local y visitante), una etapa (eliminatorias, octavos, cuartos,
semifinales y final) y un ganador."
cdigopartido hora , cdigopista , DNIlocal , DNIvisitante , etapa , DNIganador
"No se pueden jugar dos partidos a la misma hora en la misma pista."
hora , cdigopista cdigopartido
"En cada etapa , cada jugador juega un solo partido."
DNIlocal , etapa cdigopartido,

DNIvisitante , etapa cdigopartido

Adems debe tenerse en cuenta, que los jugadores locales y visitantes, son en realidad DNIs,
son los mismos atributos, con distinto nombre, por lo que pueden deducirse las siguientes
dependencias:
DNIlocal DNI, DNI DNIlocal, DNIvisitante DNI, DNI DNIvisitante ,
DNIganador DNI, DNI DNIganador
b. Teniendo en cuenta las dependencias encontradas, indicar en que forma normal se
encuentra el esquema que contiene todos los atributos. Si no se encuentra en una forma
normal "aceptable", normalcela hasta que as lo considere. Justifique las respuestas.

37

Renombrando el conjunto de atributos, tendremos:


Nombre Atrib Nombre
Atrib Nombre
DNI
Edad
cdigopista
C
E
nombre N
fechavencimiento FV
direccin
con_iluminac

Atrib
CC
D
CI

Nombre
cdigopartido
hora
DNIganador

Atrib
CP
H
CG

Nombre
DNIlocal
DNIvisitante
etapa

Atrib
CL
CV
E

Obtenemos el esquema relacin R sobre F con: R(C, N, E, FV, CC, D, CI, CP, H, CG, CL, CV, E)
segn F = { C N, E, FV ; CC D, CI ; CP H, CC, CL, CV, E, CG ; H, CC CP; CL, E
CP ; CV, E CP; CG, E CP; CL C; CV C; CG C; C CL; C CV; C
CG }
En vez de realizar el proceso acostumbrado de normalizacin, realizaremos antes un anlisis de
las dependencias, a fin de determinar si no resulta ms sencillo comenzar a normalizar
directamente, en forma intuitiva, pero justificando correctamente los resultados. Obtendremos una
descomposicin en 3NF con join sin prdida y sin prdida de dependencias.
Inicialmente se pueden formar los siguientes esquemas (incluyendo la proyeccin de las
dependencias):
INSCRITOS (C, N, E, FV) FINSCRITOS { C N, E, FV } Claves: (C)
Claves: (CC)
PISTAS (CC, D, CI) FPISTAS { CC D, CI }
PARTIDOS (CP, H, CC, CL, CV, E, CG ): Claves: { (CP) , (CC,H) , (CL,E), (CV,E) , (CG,E)}
FPARTIDOS { CP H, CC, CL, CV, E, CG ; CC, H CP ;CL, E CP ; CV, E CP ; CG, E CP
}
DNI (C,CL,CG,CV) : Claves: { (C), (CC), (CV), (CG) }
FDNI { CL C, CV C, CG C, C CL, C CV, C CG }
Hay que tener presente que los atributos CL, CV y CG son DNIs de inscritos, motivo por el cual se
cre la relacin PISTAS.
INSCRITOS est en BCNF, ya que la nica dependencia que se cumple sobre esta tiene a la
izquierda una clave. La misma situacin se da con PISTAS. En partidos, (CP) es una clave, por lo
que (CC,H), (CL,E), (CV,E) y (CG,E) tambin son claves porque determinan a (CP). De esta forma,
Partidos tambin est en BCNF.
DNI tambin esta en BCNF, ya que todos los atributos de la tabla son claves por si solos, motivo
por el cual todas las dependencia de FDNI tienen a la izquierda atributos que son superclaves.
Por lo tanto, la descomposicin propuesta estn en BCNF y por lo tanto en 3NF y como todas las
dependencias caen en un determinado subesquema, la unin de todas estas ser el conjunto
original de dependencias , por lo que se preservan las dependencias funcionales.
Queda por verificar si cumple la propiedad de join sin prdida. En este caso particular, se puede
observar que los joins posibles con sentido son entre INSCRITOS y CEDULAS ,entre PISTAS y
PARTIDOS y entre DNI y PARTIDOS. De esta forma se puede aplicar la propiedad DSPS1:
PISTAS PARTIDOS = { C }
PISTAS PARTIDOS = { DC,I}
Como se verifica que C DC,I entonces este join es sin prdida.
DNI PARTIDOS = { CL,CG,CV }
DNI PARTIDOS = { C }
Como se verifica que CL,CG,CV C , entonces este join es sin prdida.
INSCRITOS DNI = { C }
DNI INSCRITOS = { CL,CG,CV }
Como se verifica que C CL,CG,CV entonces este join es sin prdida.
Se deduce entonces que el esquema obtenido est en BCNF, preservando las dependencias
originales, asegurando adems el join sin perdida.

38

Ejercicio 13.
Atributo
NC
NRO
IP
NI

Descripcin
Nombre calle
Nmero calle
Identificacin plano
Nombre intendente

Atributo
EC
HO
ZD
ING

Descripcin
Empresa constructora
Hospital
Zona deportiva
Ingeniero

r. Tenemos

Por lo tanto, el esquema relacin universal ser de la forma:


R(NRO,NC,ID,EC,NI,AI,IP,ING,HO,ZD)
Se identifican las siguientes dependencias funcionales:
"Se sabe que una calle tiene tanto un nmero de calle como un nombre y que cada uno identifica
a la calle."
"El nmero de calle determina en forma nica tanto el nombre de la calle como el identificador del
plano de la calle y la empresa constructora. "
"A su vez el nmero de la calle y la identificacin del plano de la calle y la empresa constructora
son nicos dado el nombre de la calle."
"El nombre de la calle fue elegido durante el ejercicio de un intendente, es decir que el nombre del
intendente queda determinado por el nombre de la calle."
NRO NC,IP,EC; NC NRO,IP,EC,NI
"Dado el nombre y el nmero de la calle y el nombre del intendente queda determinado el ao de
inauguracin de la calle." NC,NRO,NI AI
"Se sabe que una identificacin del plano de una calle puede describir a distintas calles, pero un
plano es diseado por una nica empresa constructora."; IP EC
"En la construccin de un hospital de una zona deportiva de ftbol designa un nico ingeniero
responsable."; HO EC,ING; ZD EC,ING
"A su vez dichos ingenieros trabajan en una nica empresa constructora."; ING EC
s. Hallar todas las claves.
HO y ZD solo aparecen a la izquierda de las dependencias en F, por lo tanto ambos estarn
presentes en todas las claves de R.
(HO,ZD)+ = {HO,ZD,EC,ING}
Buscamos claves de 3 atributos:
(HO,ZD,NC)+ = {HO,ZD,NC,NRO,IP,EC,NI,AI,ING} = R
(HO,ZD,NRO)+ = {HO,ZD,NRO,NC,IP,EC,NI,AI,ING} = R
(HO,ZD,IP)+ = {HO,ZD,EC,ING,IP}
(HO,ZD,NI)+ = {HO,ZD,EC,ING,NI}
(HO,ZD,AI)+ = {HO,ZD,EC,ING,AI}
Con tres atributos, (HO,ZD,NC) y (HO,ZD,NRO) son clave de R
Buscamos claves con cuatro atributos.
Considero (R {NRO,NC})
(R {NRO,NC})+ = { HO,ZD,ING,AI,EC,NI,IP }
Por lo tanto se ve clausurando todos los atributos de la relacin salvo NRO y NC, estos no se
obtienen en el resultado. Esto indica que en cualquier candidato a clave debe tenerse al menos
HO, ZD y NRO o HO, ZD y NC
Sin embargo, con estos tres, caemos en alguna de las dos claves anteriores. Por lo tanto, las
nicas claves son: K = { (HO,ZD,NC) , (HO,ZD,NRO) }
t.

Se aplica el algoritmo de terico para llegar a un cubrimiento minimal de F.


4. Primer paso, obtener dependencias con un solo atributo a la derecha

39

F1 = { NRO NC; NRO ID; NRO EC; NC NRO


NC IP; NC EC; NC NI; NC,NRO,NI AI; IP EC; ING EC
HO EC; HO ING; ZD EC ; ZD ING }
5.

Segundo paso, eliminar atributos redundantes a la izquierda en las dependencias


La nica dependencia donde pueden existir problemas es: NC,NRO,NI AI
F2 = ( F1 { NC,NRO,NI AI } ) { NC AI }
NC+F2 = { NC,NRO,NI,NC,AI } NRO,NI son redundantes.
(observar que tambin pudo haberse retirado NC y NI, y aun con estos obtener AI. Esto
indica que el conjunto minimal no ser nico)
Obtenemos
F2 = { NRO NC; NRO IP; NRO EC; NC NRO
NC IP; NC EC; NC NI; NC AI; IP EC
ING EC; HO EC; HO ING; ZD EC; ZD ING
6. Tercer paso, eliminacin de dependencias redundantes.
Antes de empezar a testear cada una de las dependencias, analizamos la situacin antes.
NC NI ; NC AI
Estas son las nicas dependencias en donde NI y AI aparecen, y aparecen a la derecha. Por
lo tanto estas dos no pueden ser nunca eliminadas.
F' = F2 { NRO NC }; (NRO)+F, = {NRO,IP,EC} NRO NC no es redundante en F2
F' = F2 { NRO IP }; (NRO)+F, = {NRO,IP,EC,NC} NRO IP es redundante en F2
F3 = F'
F' = F3 { NRO EC }, (NRO)+F, = {NRO,NC,EC} NRO EC es redundante en F3
F4 = F'
F' = F4 { NC NRO }; (NC)+F, = {NC,IP,EC,NI,AI} NC NRO no es redundante en F4
F' = F4 { NC IP }; (NC)+F, = {NRO,NC,NI,EC,AI} NC IP no es redundante en F4
F' = F4 { NC EC }; (NC)+F, = {NRO,NC,IP,NI,AI,EC} NC EC es redundante en F4
F5 = F'
F' = F5 { IP EC }; (IP)+F, = {IP} IP EC no es una dependencia redundante en F5
F' = F5 { ING EC }; (ING)+F, = {ING} ING EC no es una dependencia redundante
en F5
F' = F5 { HO EC }; (HO)+F, = {HO,ING,EC} HO EC es redundante en F5 , la
quitamos
F6 = F'
F' = F6 { HO ING }; (HO)+F, = {HO} HO ING no es una dependencia redundante en
F6
F' = F5 { ZD EC }; (ZD)+F, = {ZD,ING,EC} ZD ING es redundante en F6 , la
quitamos
F7 = F' ; F' = F7 { ZD ING }; (HO)+F, = {ZD} ZD ING no es redundante en F7
Por lo tanto, el conjunto minimal obtenido es:
Fminimal = { NRO NC, NC NRO, NC IP, NC NI, NC AI, IP EC, ING EC,
HO ING, ZD ING }

u. Llevamos a 3NF
Aplicamos el algoritmo para obtener una descomposicin de R en 3NF
Tenemos:
Fminimal = { NRO NC, NC NRO, NC IP, NC NI, NC AI, IP EC, ING EC,
HO ING, ZD ING }
Obtenemos al principio:
{ R1 (NRO, NC), R2 (NC, NRO), R3 (NC, IP), R4 (NC, NI), R5 (NC, AI), R6 (IP, EC), R7 (ING, EC),
R8 (HO, ING), R9 (ZD, ING) }

40

Simplificamos
{ R1 (NRO, NC). R3 (NC, IP, NI, AI), R6 (IP, EC), R7 (ING, EC), R8 (HO, ING), R9 (ZD, ING) }
Agregamos un esquema asociado a una de las claves de R
R10 (NC,ZD,HO)
Proyectamos las dependencias de Fminimal en el esquema obtenido:
F = { NRO NC, NC NRO }
claves: { (NRO) ,(NC) }
R1 (NRO, NC)
clave: { (NC) }
R3 (NC, IP, NI, AI) F = { NC ID, NC NI, NC NI }
F = { IP EC }
clave: { (IP) }
R6 (IP, EC)
F = { ING EC }
clave: { (ING) }
R7 (ING, EC)
F = { HO ING }
clave: { (HO) }
R8 (HO, ING)
F = { ZD ING }
clave: { (ZD) }
R9 (ZD, ING)
R10 (NC,ZD, HO) F = { }
clave: { (NC,ZD,HO) }
No se pierde ninguna dependencia funcional, ya que la unin de las proyecciones es igual al
conjunto minimal, con lo que sern inmediatamante son equivalentes.
R1 (NRO, NC)
R3 (NC, IP, NI, AI)
R6 (IP, EC)
R7 (ING, EC)
R8 (HO, ING)
R9 (ZD, ING)
R10 (NC,ZD, HO)
v. Llevamos a BCNF con join sin prdida.
Para cada subesquema de la descomposicin anterior, todas las dependencias de estos tienen a
la izquierda solo superclaves, por lo que estos estarn en BCNF, con lo que la descomposicin
obtenida esta en BCNF

41

You might also like