Bases de Datos
4. Dependencias
Multivaloradas y Cuarta
Forma Normal
Algunos esquemas de relacion aunque estan
en FNBC siguen sufriendo el problema de la
repeticion de la informacion. Para tratar este
problema hay que definir un nuevo tipo de res-
triccion que se denomina dependencia multi-
valorada que se usara para definir una forma
normal para los esquemas de relacion. Esta
forma normal se llama cuarta forma normal
(4FN) y es mas restrictiva que la FNBC.
Dependencias Multivaloradas
Las dependencias funcionales impiden que cier-
tas tuplas esten en una relacion. Las depen-
dencias multivaloradas exigen que esten en la
relacion otras tuplas de una cierta forma.
Una dependencia multivalorada α ³ β se cumple
en una relacion r(R) si dadas dos tuplas de r
que concuerdan en todos los atributos de α,
entonces sus componentes en β pueden ser in-
tercambiadas y el resultado seran dos tuplas
que estan tambien en r (i.e. para todo valor
de α los valores de β son independientes de los
valores de R − αβ). La siguiente tabla ilustra
esta situacion para el caso en que α y β son
disjuntos:
1
α β R− αβ... ... ...
a1, ..., an b1, ..., bm c1, ..., cp
a1, ..., an b′1, ..., b′m c′1, ..., c′p... ... ...
a1, ..., an b′1, ..., b′m c1, ..., cp
a1, ..., an b1, ..., bm c′1, ..., c′p... ... ...
Sea R un esquema de relacion y sean α, β ⊆ R.
La dependencia multivalorada α ³ β se cumple
en R si en toda relacion legal r(R) para todo
par de tuplas t1 y t2 de R tales que t1[α] = t2[α]
existen unas tuplas t3 y t4 de R tales que
t1[α] = t2[α] = t3[α] = t4[α]
t1[R− αβ] = t3[R− αβ]
t2[R− αβ] = t4[R− αβ]
t1[β] = t4[β]
t2[β] = t3[β]
2
Esta se suele llamar la condicion de intercam-
bio.
Supongamos que t1 y t2 se encuentran en r(R)
y que t3 y t4 no se encuentran en r(R), si con-
sideramos r1 = Πα∪β(r) y r2 = Πα∪(R−αβ)(r),
se puede observar que r1 1 r2 genera t3 y t4aun cuando no estuvieran presentes en r. Por
lo tanto si r cumple α ³ β entonces la re-
striccion fuerza a r a contener las tuplas ex-
tranas introducidas por la combinacion de sus
proyecciones. En otras palabras, la restriccion
obliga a que la descomposicion sea un descom-
posicion de reunion sin perdida aun cuando los
atributos comunes α no son una superclave de
ninguno de los componentes.
3
Supongamos que α ³ β restringe a r(R), sea
α ⊆ R′ ⊆ R, entonces α ³ (β ∩ R′) restringe a
ΠR′(r). La condicion inversa no se cumple.
Supongamos que R = αβ entonces cualquier
r(R) cumple con α ³ β.
Las dependencias multivaloradas se usaran de
la siguiente manera: para verificar si las rela-
ciones son legales bajo un conjunto dado de
dependencias funcionales y multivaloradas; y
para especificar el conjunto de restricciones de
las relaciones legales.
Observar que si una relacion r no satisface una
dependencia multivalorada (d.m.) se puede
crear una relacion r′ que sı satisfaga esa d.m.
anadiendo tuplas a r.
4
Al igual que con el analisis de dependencias
funcionales comenzamos con un grupo de de-
pendencias multivaloradas que surge de la apli-
cacion. Entonces se encuentra que otras de-
pendencias multivaloradas son satisfechas de
manera automatica por cualquier estado de
base de datos que satisfaga las dependencias
multivaloradas inalterables. Sin embargo, la
situacion es mas complicada porque las depen-
dencias funcionales y las dependencias multi-
valoradas pueden trabajar juntas para forzar
que se cumplan nuevas dependencias funcio-
nales y nuevas dependencias multivaloradas.
Por lo tanto, debe verse el grupo dependen-
cias funcionales y de dependencias multivalo-
radas inalterables como un conjunto unificado
de restricciones.
5
Dado un esquema relacional R una dependen-cia multivalorada f de R esta implicada logica-mente por un conjunto de dependencias fun-cionales y multivaloradas D de R si cada ejem-plar de relacion r(R) que satisface D tambiensatisface f . Usaremos D |= f para decir que festa implicada logicamente por D.
Sea D un conjunto de dependencias funcionalesy multivaloradas. El cierre de D se denota porD+ es el conjunto de todas las dependenciasfuncionales y multivaloradas implicadas logica-mente en D. Formalmente:
D+ = {f | D |= f} .
α ³ β es trivial si β ⊆ α o β ∪ α = R. Si todaslas relaciones del esquema R satisfacen α ³ βentonces α ³ β es trivial.
Las dependencias multivaloradas triviales estanen D+. Una dependencia multivalorada trivialno introduce redundancia.
Es posible generar D+ con ciertas reglas.6
Las reglas de inferencia proporcionan una tec-nica mas sencilla para el razonamiento sobrelas dependencias funcionales y multivaloradas.
A continuacion se da una lista de reglas deinferencia para d.f.s y d.m.s. Las tres primerasreglas son los axiomas de Armstrong.
La regla de la reflexividad dice que si α es unconjunto de atributos y β ⊆ α, entonces secumple α → β.
La regla de la aumentatividad dice que si secumple que α → β y γ es un conjunto de atri-butos, entonces se cumple que γα → γβ.
La regla de la transitividad dice que si se cumpleque α → β y tambien se cumple que β → γ, en-tonces se cumple que α → γ.
La regla de la complementaridad dice que si secumple que si α ³ β, entonces α ³ (R−β)−α.
7
La regla de la aumentatividad para d.m.s dice
que si α ³ β, γ ⊆ R y δ ⊆ γ, entonces γα ³ δβ
La regla de la transitividad para d.m.s dice que
si α ³ β y β ³ γ, entonces α ³ γ − β.
La regla de la replicacion dice que si α → β,
entonces α ³ β.
La regla de la fusion dice que si α ³ β, γ ⊆ β y
existe δ ⊆ R tal que δ∩β = ∅ y δ → γ, entonces
α → γ.
8
Probemos la regla de fusion. En la tabla deabajo consideremos dos tuplas que coincidenen α. Como α ³ β el segundo par de tuplasdebe tambien aparecer; cambian los valores deR− αβ de las dos tuplas originales. Notar quela primera tupla del par superior y la segundatupla del par inferior concuerdan en δ, comoδ → γ se cumple, entonces esas tuplas debenconcordar tambien en γ, lo cual obliga a quez1 = z2. Con este ajuste, sin embargo, lastuplas originales concuerdan en γ, lo cual de-muestra que α → γ debe cumplirse.
Rγβ δ
α R− αβ... ... ... ... ... ... ... ...
y1 z1 x1 x2 x3 x4 w1 v1y2 z2 x1 x2 x3 x4 w2 v2... ... ... ... ... ... ... ...
y1 z1 x1 x2 x3 x4 w2 v2y2 z2 x1 x2 x3 x4 w1 v1... ... ... ... ... ... ... ...
9
Probemos la regla de aumento. Supongamos que ten-
emos dos tuplas que concuerdan en γα. La situacion
mas general aparece como el par superior de tuplas de
la tabla de abajo. Es seguro que las tuplas concuer-
dan en α, y por lo tanto el segundo par de tuplas debe
aparecer con sufijos R− αβ intercambiados. Los unicos
atributos de R − αβγδ aparecen en la ultima columna
de la tabla. Notar que el segundo par de tuplas con-
cuerda en γα y corresponde al primer par con la ultima
columna intercambiada. Las tuplas requeridas por lo
tanto existen en la tabla y esto demuestra que γα ³ δβ.
Rα R− αβ
βγ γδ δ
... ... ... ... ... ... ... ... ... ... ... ...x1 x2 x3 x4 x5 x6 y1 y2 y3 v1 v2 v3x1 x2 x3 x4 x5 x6 y′1 y2 y3 v1 v2 v′3... ... ... ... ... ... ... ... ... ... ... ...x1 x2 x3 x4 x5 x6 y1 y2 y3 v1 v2 v′3x1 x2 x3 x4 x5 x6 y′1 y2 y3 v1 v2 v3... ... ... ... ... ... ... ... ... ... ... ...
10
Dado un esquema relacional R una dependen-
cia (funcional o multivalorada) f con atribu-
tos en R se deduce de un conjunto de depen-
dencias (funcionales o multivaloradas) D con
atributos en R si existe una lista de depen-
dencias (funcionales o multivaloradas) f1, ..., fn
tales que fn = f y para todo 1 ≤ i ≤ n
1. fi ∈ D o
2. fi es trivial o
3. fi se obtiene de aplicar una de las 8 reglas
anteriores a pasos anteriores en la lista.
Usaremos D ` f para decir que f se deduce de
D.
11
Teorema 1: Si f es una denpendencia (fun-
cional o multivalorada) con atributos en R y D
es un conjunto de denpendencias (funcionales
o multivaloradas) con atributos en R, entonces:
D |= f ⇔ D ` f .
Este teorema dice que la lista anterior de reglas
de inferencia para d.f.s y d.m.s es correcta y
completa.
Se puede simplificar el calculo de D+ por medio
de las reglas siguientes las cuales pueden pro-
barse usando las reglas anteriores.
La regla de la union para d.m.s dice que si se
cumple que α ³ β y α ³ γ, entonces se cumple
que α ³ βγ.
La regla de la interseccion dice que si se cumple
que α ³ β y α ³ γ, entonces se cumple que
α ³ β ∩ γ.
12
La regla de la diferencia dice que si se cumple
que α ³ β y α ³ γ, entonces se cumple que
α ³ β − γ y α ³ γ − β.
La regla de pseudotransitividad para d.m.s dice
que si se cumple que α ³ β y δβ ³ γ, entonces
se cumple que δα ³ γ − δβ.
Ejemplo: Sea el esquema R = (A, B, C, G, H, I)
y las siguientes restricciones se cumplen en R:
D = {A ³ B, B ³ HI, CG → H} .
A continuacion probamos que D ` A ³ CG.(1) A ³ B elemento de D.(2) A ³ CGHI complementaridad a (1).(3) B ³ HI elemento de D.(4) A ³ HI transitividad a (1) y (3).(5) A ³ CG diferencia a (2) y (4).
13
Lema 2 Una α → A no trivial puede aparecer en D+
solo si una β → Aγ aparece entre las dependencias fun-
cionales de D con A /∈ β.
Prueba: Supongamos que A nunca aparece en el miem-
bro derecho de una dependencia funcional en D. La
relacion r(R) que aparece debajo debe satisfacer en-
tonces todas las restricciones en D. Si δ → ω ∈ D
entonces se sabe que ω ⊆ R − A. Por lo tanto las dos
tuplas concuerdan en ω, lo cual implica que no ocurre
violacion. A continuacion supongase que δ ³ ω ∈ D. Si
las dos tuplas concuerdan en δ se debe mostrar que al
intercambiar los atributos R− δω se producen tuplas en
la tabla; pero intercambiar cualquier conjunto de atrib-
utos simplemente regenera las mismas dos tuplas, de
modo que δ ³ ω queda satisfecha. Por consiguiente
r(R) satisface D pero viola α → A (A /∈ α y α ⊆ R − A,
de modo que tenemos dos tuplas que concuerdan en
α pero difieren en A). Como α → A ∈ D+, esta de-
mostracion demuestra que A debe aparecer como parte
del miembro derecho en por lo menos una dependencia
funcional de D. Q.E.D.
14
RR−A A
· · · 000 · · · 0· · · 000 · · · 1
Sea C = (β1, ..., βn) un grupo de conjuntos de
atributos no vacıos. Entonces
1. Una base para C es un grupo de conjuntos
D = (γ1, ..., γm) tales que las γi son sepa-
radas por pares y cada βi ∈ C es la union
de componentes seleccionadas desde D.
2. Una base mınima para C es una base D tal
que | D | ≤ | E | para cualquier base E para
C (| | es cardinalidad).
Para construir la base mınima para C usaremos
el siguiente algoritmo:
15
res := C;While exists α, β ∈ res: α ∩ β 6= ∅ do
res := res− {α, β} ∪ {α− β, β − α, β ∩ α};od
Proposicion 3 El algoritmo anterior calcula
una base mınima para C.Idea de la Prueba: El invariante es:
1. Cualquier base para C es base para res.
2. Cualquier miembro de C es union de
— miembros de res.
Al salir del ciclo res tiene conjuntos separados y
es base para sı misma. Si res tiene n conjuntos
separados, entonces no puede tener una base
con menos de n miembros, porque se requiere
que por lo menos un miembro distinto de base
cubra a cada miembro de res. Por la invariante
cualquier base para C es una base para res.
En consequencia cualquier base para C debe
contener por lo menos tantos miembros como
res. Finalmente por la segunda invariante del
16
ciclo todo miembro de C se puede expresar
como una union de elementos de res. Por lo
tanto res como la entrega el algoritmo es una
base mınima de C. Q.E.D.
Lema 4 La base mınima para C es unica.
Prueba: Sea E otra base mınima para C. Por
la invariante del ciclo E debe ser una base para
res, y como es mınima, debe contener exac-
tamente el mismo numero de miembross que
res. Como los miembros de res son separa-
dos E debe despachar un miembro separado
para cada uno de ellos. Debido a que esta
asignacion consume todos los miembros de E,el disenador puede concluir que cada miembro
de res es la union de un miembro de E exac-
tamente. Como los conjuntos tienen el mismo
numero de miembros, esta correspondencia es
uno-uno, y por consiguiente E = res. Q.E.D.
17
Para un conjunto dado de restricciones D y un
subconjunto dado de atributos α sea el con-
junto C = {β : α ³ β ∈ D+}. La base mınima
para C se llama base de dependencias de α con
respecto a D y esta denotada por [α;D].
El siguiente algoritmo calcula la base de de-
pendencias de α con respecto a D.
M := D ∪ {γ ³ A : γ → Aβ ∈ D};res := {R− α};cambio := true;
while (cambio)
if (existe ω ³ µ ∈ M y δ ∈ res tal que
δ ∩ µ 6= ∅ ∧ δ ∩ ω = ∅ ∧ δ − µ 6= ∅)then res := (res− {δ}) ∪ {δ ∩ µ, δ − µ};else cambio := falso;
od
res := res ∪ {{A} : A ∈ α};
18
Teorema 5 El algoritmo anterior calcula [α;D].
Idea de la Prueba: El invariante del ciclo dice:
Para todo γ ∈ res: α ³ γ ∈ D+.
Debido a la gran complejidad de la prueba, no
demostramos que este es realmente un invari-
ante. Por regla de union si γ es union de
miembros de res entonces α ³ γ ∈ D+. La
condicion del invariante no cambia luego de
agregar los atributos unicos de α a res. Como
el ciclo comienza solo con un conjunto en res
y como cada iteracion sustituye un miembro
de res con dos miembros separados cuya union
es el conjunto sustituido, es posible concluir
que los conjuntos de res son separados y rep-
resentan toda R. Por lo tanto res es un grupo
separado de conjuntos y α ³ δ para cualquier
δ que es una union de miembros seleccionados
de res. El valor final de res es por consiguiente
un buen candidato para [α;D].
19
Como para todo γ ∈ res: α ³ γ ∈ D+, se de-duce que cualquier γ ∈ res debe ser la union deconjuntos de [α;D]. En consecuencia, [α;D]es una base para res. Como res esta formadapor conjuntos separados en todo momento, labase [α;D] debe despachar elementos separa-dos para cubrir cada conjunto de res con unaunion. Por lo tanto [α;D] debe ser al menostan grande como res: | res |≤| [α;D] |. Sires es una base para {β : α ³ β ∈ D+}, en-tonces debe ser la base mınima. En otras pal-abras, debe ser igual a [α;D]. Debido a lacomplejidad de la prueba no demostramos quees verdad que res es una base para {β : α ³β ∈ D+}. Un argumento anterior hizo notarque una base mınima para este conjunto nopuede tener menos miembros, de modo quese concluye que el algoritmo retorna una basemınima. Q.E.D.
Proposicion 6 α ³ γ ∈ D+ si y solo si existeE ⊆ [α;D] tal que γ = ∪E.
20
Prueba: (⇒) vale por definicion de [α;D] y
(⇐) vale por el invariante del algoritmo que
calcula [α;D]. Q.E.D.
Proposicion 7 α → A ∈ D+ si y solo si {A} ∈[α;D] y existe µ → Aτ ∈ D tal que A /∈ µ.
Prueba: (⇒) Supongamos que α → A ∈ D+,
entonces α ³ A ∈ D+. Luego por definicion
de [α;D] se tiene que {A} ∈ [α;D]. Ademas
como α → A ∈ D+ por lema (pag. 13) existe
µ → Aτ ∈ D tal que A /∈ µ.
(⇐) Si {A} ∈ [α;D], entonces por teorema an-
terior α ³ A ∈ D+. Como existe µ → Aτ ∈ D
tal que A /∈ µ, por regla de descomposicion se
tiene que µ → A ∈ D+. Entonces por regla de
fusion aplicada a α ³ A y µ → A se obtiene
que α → A ∈ D+. Q.E.D.
21
Como α → A si y solo si {A} aparece comounica en [α;D] y existe µ → Aτ ∈ D tal queA /∈ µ, el disenador puede expresar el conjuntode atributos mas grande determinado por α(denotado por (α;D)) como sigue:
(α;D) = α ∪ {A : α ³ A ∈ D+ ∧ ∃µ → Aτ ∈ D : A /∈ µ} .
Ejemplo: Sea el esquema R = (A, B, C, G, H, I)
y las siguientes restricciones se cumplen en R:
D = {A ³ B, B ³ HI, CG → H} .
A continuacion calculamos [A;D]. Observar
que M = D ∪ {CG ³ H}.
Paso Dep. elegida resinicio {{BCGHI}}
1 A ³ B {{B},{C,G,H,I}}2 B ³ HI {{B},{H,I},{C,G}}3 CG ³ H {{B},{H},{I},{C,G}}fin {{B},{H},{I},{C,G},{A}}
22
Sea C un conjunto de restricciones de la BD
y R un esquema de relacion. Una descom-
posicion {R1, ..., Rn} de R es una descomposi-
cion por reunion sin perdida si para todas las
relaciones r del esquema R que son legales bajo
C se cumple que r = ΠR1(r) 1 ... 1 ΠRn(r).
Proposicion 8 Sea R un esquema de relacion y
D un conjunto de d.f.s y d.m.s de R. Supong-
amos que R1 y R2 forman una descomposicion
de R, esta descomposicion es de reunion sin
perdida de R sii las siguientes d.m.s se hayan
en D+: R1 ∩R2 ³ R1 y R1 ∩R2 ³ R2.
23
Prueba: (⇐) Si R1 ∩ R2 ³ R1 ∈ D+ y que
r(R) es legal. Se puede proyectar r en R1 y R2
y obtener r1 y r2 respectivamente. Supong-
amos que t ∈ r1 1 r2. Entonces debe haber
t1 ∈ r que concuerda con t en los atributos R1
y una t2 ∈ r que concuerda con t en los atrib-
utos R2. El formato general para t es igual a
x : a : d donde los valores de R1∩R2 son x, los
valores de R1 − (R1 ∩ R2) son a y los valores
de R2 − (R1 ∩ R2) son d. Entonces se debe
tener t1 y t2 como se dan en las primeras dos
tuplas de la tabla que aparece a continuacion.
La dependencia multivalorada R1 ∩ R2 ³ R1
obliga al segundo par de tuplas a aparecer.
t = x : a : d aparece entre estas tuplas, de
modo que t ∈ r. Por consiguiente r = r1 1 r2y la descomposicion es de reunion sin perdida.
24
RR1 ∩R2 R1 − (R1 ∩R2) R2 − (R1 ∩R2)
... ... ...t1 x a bt2 x c d
... ... ...t x a d
x c b... ... ...
(⇒) Suponer que dos tuplas concuerdan en
R1 ∩ R2. El formato de las tuplas aparece
como t1 y t2 en la tabla anterior. Se tiene
que (x : a) y (x : c) aparecen en r1 y (x : b)
y (x : d) aparecen en r2. Ademas de las dos
tuplas originales r = r1 1 r2 exhibe las tuplas
(x : a : d) y (x : c : b). Pero estas tuplas
nuevas representan a las tuplas originales con
los atributos R−R1(R1∩R2) = R2− (R1∩R2)
intercambiados. Por lo tanto R1 ∩R2 ³ R1 se
cumple.
25
Las tuplas nuevas tambien representan a las
tuplas originales con los atributos R−R2(R1 ∩R2) = R1 − (R1 ∩ R2) intercambiados. Por lo
tanto R1∩R2 ³ R2 tambien se cumple. Q.E.D.
Ejemplo: Sea el esquema R = (A, B, C, G, H, I)
y las siguientes restricciones se cumplen en R:
D = {A ³ B, B ³ HI, CG → H} .
Sea la descomposicion de R dada por:
R1 = (A, B), R2 = (A, C, G, H, I) .
Se tiene que R1 ∩ R2 = {A}. En el ejemplo
anterior calculamos:
[A;D] = {{B}, {H}, {I}, {C, G}, {A}} .
Entonces se tiene por proposicion 6 que
A ³ AB ∈ D+ ∧ A ³ ACGHI ∈ D+ .
Luego R1 y R2 descomposicion de R de reunion
sin perdida.
26
La restriccion de D a Ri es el conjunto Di que
consta de todas las dependencias funcionales
de D+ que solo incluyen atributos de Ri y de
todas las dependencias multivaloradas de la
forma α ³ β ∩ Ri donde α ⊆ Ri y α ³ β esta
en D+.
La descomposicion R1, ..., Rn de R es una des-
composicion que preserva las dependencias con
respecto a un conjunto D de d.f.s y d.m.s si
para cada lista de relaciones r1(R1),...,rn(Rn)
tal que ri satisface Di para todo i, existe una
relacion r(R) que satisface D y para la cual
ri = ΠRi(r).
27
Cuarta Forma Normal
Cabe recordar que tanto las dependencias mul-
tivaloradas triviales como las dependencias mul-
tivaloradas del tipo α ³ β donde α, β ⊆ R y α
es una superclave de R no generan redundan-
cia. Esta observacion motiva la definicion de
cuarta forma normal.
Un esquema de relacion R esta en la cuarta
forma normal (4FN) con respecto a un con-
junto de dependencias (funcionales y multival-
oradas) D si para todas las dependencias mul-
tivaloradas de D+ de la forma α ³ β donde
α, β ⊆ R se cumple α ³ β es una dependencia
multivalorada trivial o α es una superclave del
esquema R.
28
Un diseno de BD esta en 4FN si cada com-ponente del conjunto de esquemas de relacionque constituye el diseno se haya en 4FN. Todoslos esquemas 4FN estan en FNBC.
Sea R1, ..., Rn una descomposicion de R, paracomprobar si cada Ri se halla en 4FN hay queaveriguar las d.m.s que se cumplen en cada Ri.
El algoritmo de descomposicion en 4FN comienzacon la relacion universal R y es el siguiente:
res := {R};hecho := false;calcular D+;while not hecho do
if algun Ri de res no esta en 4FNthen sea α ³ β ∈ D+ no trivial, α, β ⊆ Ri
α → Ri /∈ D+ y α ∩ β = ∅res := (res− {Ri}) ∪ {Ri − β} ∪ {(α, β)};
else hecho := true;od
29
Este algoritmo genera descomposiciones 4FN
de reunion sin perdida.
Prueba:
Es obvio que si el algoritmo termina es porque
todos los Ri estan en 4FN. A continuacion
probamos que el algoritmo anterior produce
una descomposicion con reunion sin perdida.
Ahora vamos a probar que la eleccion de la
dependencia multivalorada en la parte then del
algoritmo siempre es posible cuando un Ri de
res no esta en 4FN.
Si Ri de res no esta en 4FN, entonces existe
α ³ γ ∈ D+ tal que α, γ ⊆ Ri, α ³ γ no trivial
(con respecto a Ri) y α → Ri /∈ D+.
(1) α ³ γ(2) α → α reflexividad(3) α ³ α replicacion a (3)(4) α ³ γ − α diferencia a (1) y (3)
30
Luego α ³ γ − α ∈ D+. Como α ³ γ es no
trivial se tiene que ¬γ ⊆ α y α ∪ γ 6= Ri. En-
tonces γ − α 6= ∅. Mas aun α ³ γ − α es no
trivial. Ası si tomamos β = γ − α obtenemos
que α ³ β ∈ D+, α, β ⊆ Ri, α ³ β no trivial
(con respecto a Ri) y α ∩ β = ∅.
Vamos a probar que luego de todo paso de
iteracion obtenemos una descomposicion con
reunion sin perdida.
Luego del primer paso de iteracion obtenemos
la descomposicion: {R − β, (α, β)}. Observar
que (R − β) ∩ (α, β) = α. Por aumentatividad
aplicada a α ³ β se cumple que α ³ αβ ∈ D+.
(1) α ³ β(2) α ³ (R− α)− β complementaridad a (1)(3) α → α reflexividad(4) α ³ α replicacion a (3)(5) α ³ R− β union a (2) y (4), α ∩ β = ∅
31
Luego se cumple que α ³ R − β ∈ D+.Por lotanto, {R − β, (α, β)} es una descomposicioncon reunion sin perdida.
Asumimos que al finalizar el paso de iteracion k
tenemos una descomposicion R1, ..., Rk+1 conreunion sin perdida. O sea, para toda r(R)legal con respecto a D:
r = ΠR1(r) 1 ... 1 ΠRk+1
(r) .
Asumimos que en el paso k+1 para algun j sedescompuso Rj en {Rj−δ, (γ, δ)}. Observamosque (Rj − δ) ∩ (γ, δ) = γ. Por aumentatividadaplicada a γ ³ δ se cumple que γ ³ γδ ∈ Dj+.Como γ ³ δ ∈ D+, por el mismo razonamientode la pagina anterior vale que γ ³ R− δ ∈ D+.Luego γ ³ (R−δ)∩Rj ∈ Dj. Pero (R−δ)∩Rj =Rj − δ. Entonces γ ³ Rj − δ ∈ Dj. Luego{Rj − δ, (γ, δ)} es de reunion sin perdida conrespecto a Dj. O sea, para toda s(Rj) legal enDj:
s = ΠRj−δ(s) 1 Π(γ,δ)(s) .
32
Sea r(R) legal bajo D. Entonces ΠRj(r) legal
en Dj.
r= { luego de paso k descomposicion losless join}
ΠR1(r) 1 ... 1 ΠRj
(r) 1 ... 1 ΠRk+1(r)
= {{Rj − δ, (γ, δ)} con reunion sin perdida}ΠR1
(r) 1 ... 1 ΠRj−δ(ΠRj(r)) 1
Π(γ,δ)(ΠRj(r)) 1 ... 1 ΠRk+1
(r)
= {ΠA(ΠB(s)) = ΠA(s) cuando A ⊆ B }ΠR1
(r) 1 ... 1 ΠRj−δ(r) 1 Π(γ,δ)(r) 1 ... 1 ΠRk+1(r)
Por lo tanto luego del paso de iteracion k + 1
se obtiene una descomposicion con reunion sin
perdida.
QED.
No siempre se da que si tengo una descom-
posicion 4FN entonces se preservan las depen-
dencias.
33
Ejemplo: Sea el esquema R = (A, B, C, G, H, I)
y las siguientes restricciones se cumplen en R:
D = {A ³ B, B ³ HI, CG → H} .
Vamos a usar las siguientes bases de depen-
dencias:
Nombre de base Resultado[A;D] {{B},{H},{I},{C,G},{A}}[C;D] {{C},{A,B,G,H,I}}[G;D] {{G},{A,B,C,H,I}}
Se tiene que A ³ B es no trivial. Ademas
como (A;D) = {A, H} se tiene que A no es
superclave de R. Entonces consideramos la
descomposicion de R:
R1 = (A, B), R2 = (A, C, G, H, I) .
Como {H} ∈ [A;D] se tiene que A ³ H ∈ D+,
luego A ³ H ∈ D2 y es no trivial. Como
34
(A;D) = {A, H} se tiene que A no es super-
clave de R2. Entonces consideramos la des-
composicion de R2:
R21 = (A, C, G, I), R22 = (A, H) .
Como {I} ∈ [A;D] se tiene que A ³ I ∈ D+,
luego A ³ I ∈ D21 y es no trivial. Como
(A;D) = {A, H} se tiene que A no es super-
clave de R21. Entonces consideramos la des-
composicion de R21:
R211 = (A, C, G), R212 = (A, I) .
Hemos llegado entonces a la descomposicion
R1, R22, R212, R211. Falta probar que esta des-
composicion esta en 4FN. Puesto que R1, R22
y R212 tienen solo dos atributos se tiene que
estos esquemas estan en 4FN.
35
Si un esquema S tiene tres atributos y no esta
en 4FN, entonces existe una dependencia α ³β no trivial de S, donde α no es superclave
de S y α ∩ β = ∅. Entonces por definicion de
trivialidad, se puede ver que tanto α como β
tienen un atributo y ambos atributos son dis-
tintos. Asi si un esquema S tiene tres atributos
y no esta en 4FN, entonces existe una depen-
dencia α ³ β con dos atributos distintos, uno
a la izquierda y otro a la derecha.
R211 tiene 3 atributos. Usando la tabla de
bases de dependencias arriba se puede probar
que R211 no tiene una dependencia multival-
orada con dos atributos distintos (uno a la
izquierda y otro a la derecha). Luego R211
esta en 4FN.
Ejemplo: Sea el esquema R = (A, B, C, G, H, I)
y las siguientes restricciones se cumplen en R:
D = {A ³ B, B ³ HI, CG → H} .
36
Probar que usando otras d.m.s testigo se podrıa
haber hallado la siguiente descomposicion 4FN
de R alternativa a la del ejemplo anterior:
R1 = (A, B), R2 = (C, G, H) ,
R3 = (A, I), R4 = (A, C, G) .
Esta descomposicion no preserva las depen-
dencias, debido a que falla en preservar la de-
pendencia B ³ HI. Considere las siguientes
relaciones:
r1 :A Ba1 b1a2 b1
r2 :C G Hc1 g1 h1c2 g2 h2
r3 :A Ia1 i1a2 i2
r4 :A C Ga1 c1 g1a2 c2 g2
La restriccion de D a (A, B) es A ³ B y algu-
nas dependencias triviales. Es facil ver que r1satisface A ³ B, porque no hay ningun par de
tuplas con el mismo valor en A. r2 satisface
todas las dependencias funcionales y multival-
oradas, debido a que no hay un par de tuplas de
r2 que tengan el mismo valor en algun atributo.
Lo mismo se puede afirmar de r3 y r4. Ası la
version descompuesta de la base de datos sat-
isface todas las dependencias en la restriccion
de D. Sin embargo, no hay relacion r(R) que
satisfaga D y que se descomponga en r1, r2,
r3 y r4.
37
Si hubiera tal r entonces cumplirıa:
r = r1 1 r2 1 r3 1 r4.
Luego r esta definida como abajo.
La relacion r no satisface B ³ HI. Si r satis-
faciera B ³ HI, entonces debe incluir la tupla
(a2, b1, c2, g2, h1, i1). Pero esto no pasa.
r :A B C G H Ia1 b1 c1 g1 h1 i1a2 b1 c2 g2 h2 i2
38
Una complicacion adicional cuando intentamos
descomponer un esquema R en 4FN es que
pueden haber ciertas dependencias multivalo-
radas que esperamos que valgan cuando proyec-
tamos una relacion plausible r(R) en un sub-
conjunto X ⊆ R; aun no esperamos que es-
tas dependencias valgan en r. Tal tipo de
dependencia se llama embebida en R y debe-
mos estar alerta cuando escribimos todas las
restricciones que creemos que valen en rela-
ciones r ∈ R sin ignorar una dependencia multi-
valorada embebida. Dependencias funcionales
embebidas no ocurren nunca.
Una relacion r(R) satisface una dependencia
multivalorada embebida α ³ β | γ si la depen-
dencia multivalorada α ³ β es satisfecha por
la relacion Πα∪β∪γ(r).
α ³ β | γ significa lo mismo que α ³ γ | β.
39