You are on page 1of 3

Zatvaranje skupa obeleja

DEFINICIJA: Zatvaranje skupa obeleja Xu sobzirom na skup funkcionalnih


zavisnosti F, definisan u u, je skup X F definisan na sledei nain:

X F ={A | X A F }, Au
= {Au | F |- X A} (skup svih obeleja koja funkcionalnzavise od x)

Algoritam za odreivanje skupa X F :


ulaz: skup funkcionalnih zavisnosti F, u skup obeleja, Xu
izlaz: X F zatvaranje skupa obeleja

XX


Q
dok Q X radi
Q X


fF, ako je lhs(f) X
X
X
rhs(f)
kraj ako
kraj dok
X F Q

PRIMER:

F={AB AC, CD E, A B, AE F} ; (AD) F =?


(AD) F =AD
(AD) F =ADB (A B, A (AD) )
(AD) F =ADBC (AB C)
(AD) F =ADBCE (CD E)
(AD) F =ADBCEF (AE F)

PRIMER:

F={AB C, C A, BC D, ACD B, D EG, BE C, CG BD, CE AG}


(BD) F =BD E G C A
B (BD) D (BD) D EG BE C C A

PRIMER:

F={A B, A C, A E, D C, E I, BI J}
(AI) =AIBCEJ
(DJ) DJC

(BE) =BEIJ

- algoritam za izraunavanje zatvaranje skupa obeleja se moe primeniti za:

?
1. utvrivanje ekvivalentnosti dva skupa funkcionalnih zavisnosti F G
FG akko F G
da li je fF posledica funkcionalnih zavisnosti iz G i obrnuto
- treba proveriti:
(fF) rhs(f) (lhz ( f )) G
(gG) rhs(g) (lhz ( g )) F
2. redukcija levih strana funkcionalnih zavisnosti
(X\{A}) B F B
?


(X \ {A}) F
3. traenje neredudantnog pokrivanja skupa funkcionalnih zavisnosti
f (F \ {f})
, f : X B B X F\{ f }
DEFINICIJA:

F1 F2 ( F1 je ekvivalentno sa F2 ) akko F1 |= F2 i F2 |= F1

ZADATAK:

Da li su skupovi funkcionalnih zavisnosti ekvivalentni?


F1 ={A CD, D E, DB A, E B, B C}
F2 ={A D, DB A, A E, E C}

1. F1 |= F2 - proveravamo da li se svaka funkcionalna zavisnost iz F2 moe izvesti iz


F1

f F2 rhs(f) (lhs ( f )) F1
A D: D AF1 : AF1 =ACDEB D AF1

DB A : A DB F1 : DB F1 =DBACE A DB F1

A E : E AF1 : AF1 =ACDEB EE AF1


E C : C E F1 : E F1 =EBC C E F1

iz ovoga sledi F1 |= F2


2. F2 |= F1 ; (f F1 )rhs ( f ) (lhs ( f )) F2
A CD: CD AF1 : AF1 =ADECCDE AF1

D E : E D F1 : D F1 =DE D F1

iz ovoga sledi da ne vai F2 |= F1

zakljuak: F1 nije ekvivalentno sa F2


ZADATAK:

F1 ={AB C, C D, A B}
F2 ={A C, C B}
Da li je F1 F2 ( F1 F2 )


1. f F2 : rhs ( f ) (lhs ( f )) F1
A C : C AF1 =ABCD

C B : B CF1 =CD

Iz ovoga sledi F1 |= F2


2. f F1 : rhs( f ) (lhs( f )) F2
AB C : C ( AB ) F2 =ABC

C D : D CF2 =CB

Iz ovoga sledi F2 |= F1

Na osnovu 1. i 2. sledi da nije F1 F2

You might also like