dependencias multivaloradas - 4 Formas Normales

41
Bases de Datos 4. Dependencias Multivaloradas y Cuarta Forma Normal Algunos esquemas de relaci´on aunque est´ an en FNBC siguen sufriendo el problema de la repetici´on de la informaci´ on. Para tratar este problema hay que definir un nuevo tipo de res- tricci´ on que se denomina dependencia multi- valorada que se usar´ a para definir una forma normal para los esquemas de relaci´on. Esta forma normal se llama cuarta forma normal (4FN) y es m´ as restrictiva que la FNBC.

description

Normalizacion de bases de datos

Transcript of dependencias multivaloradas - 4 Formas Normales

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