PODSTAWY BAZ DANYCH Wykłd 3 2. Pojęcie Relcyjnej Bzy Dnych 2005/2006 Wykłd "Podstwy z dnych" 1
Rozkłdlno dlność schemtów w relcyjnych Przykłd. Relcj EGZ(U), U := { I, N, P, O }, gdzie I 10 10 11 N f f g 12 h 3 jest przypdkiem schemtu relcyjnego E := ( { I, N, P, O }, { I N, IP O } ). W zleżności od wyoru zioru zleżności funkcyjnych jko podstwy rozkłdu relcję tą możn rozłożyć ez strty dnych n dw sposoy: 2005/2006 Wykłd "Podstwy z dnych" 2 P O 3 4 3
Rozkłdlno dlność schemtów w relcyjnych E 1 : I N E 2 : 10 f 11 g 12 h I P O 10 3 10 4 11 3 12 3 E 3 : I P O E 4 : I P N 10 3 10 f 10 4 10 f 11 3 11 g 12 3 12 h W oydwu przypdkch mmy: EGZ=E >< 1 E 2, EGZ=E >< 3 E 4. 2005/2006 Wykłd "Podstwy z dnych" 3
Definicj. Mówimy, że schemt relcyjny R := ( U, F ) jest rozkłdlny ez strty zleżności n dw schemty gdy Rozkłdlno dlność schemtów w relcyjnych R 1 := ( X, G ), R 2 := ( Y, H ), ) X Y = U, ) F + = ( G H ) +. 2005/2006 Wykłd "Podstwy z dnych" 4
Rozkłdlno dlność schemtów w relcyjnych Przykłd. Dl schemtu relcyjnego R := ( U, F ) U := { A, B, C, D }, F := { A B, BC D, D B, D C } rozwżmy nstępujące schemty: R 1 := ( { A, B }, { A B }), R 2 := ( { B, C, D }, { BC D, D B, D C } ), ędące rozkłdmi schemtu R ez strty zleżności. Rozkłd ten nie jest jednk rozkłdem ez strty dnych. 2005/2006 Wykłd "Podstwy z dnych" 5
Rozkłdlno dlność schemtów w relcyjnych Istotnie, rozwżmy relcję R INST(R) postci: R: A B C D c d 1 c 1 d 1 2 c 1 d 1 Wówczs relcje: mją postć: R 1 := R[AB] i R 2 := R[BCD] 2005/2006 Wykłd "Podstwy z dnych" 6
Rozkłdlno dlność schemtów w relcyjnych R 1 : A B 1 c 1 d 1 2 i R R >< 1 R 2 (nstępny sljd). R 2 : Zuwżmy, że zleżności B A i B CD nie nleżą do F +, tzn. nie są spełnione złożeni twierdzeni o wrunku koniecznym i dosttecznym rozkłdlności ez strty dnych. B C c D d 2005/2006 Wykłd "Podstwy z dnych" 7
Rozkłdlno dlność schemtów w relcyjnych R 1 >< R 2 A B 1 c d 1 c 1 d 1 2 c d 2 c 1 d 1 1 c 1 c 1 2005/2006 Wykłd "Podstwy z dnych" 8 C c c 1 D d d 1 R: A B C c D d 2 d 1 d 1
Normlizcj schemtów w relcyjnych Definicj. Mówimy, że ziór K U jest kluczem dl schemtu relcyjnego R := ( U, F ), gdy spełni wrunki: ) ( K U ) F +, ) ( X U ) ( [ ( X U ) F + ] [ ( X K ) ] ). Jeżeli ziór K spełni tylko wrunek ) to nzywmy go ndkluczem. Elementy zioru K nzywmy tryutmi kluczowymi. 2005/2006 Wykłd "Podstwy z dnych" 9
Normlizcj schemtów w relcyjnych Przykłd. Dl schemtu relcyjnego E := ( { I, N, P, O }, { I N, IP O } ) wrunek ) definicji spełniją ziory { I, P }, { I, N, P }, { I, N, P, O }. Wrunek ) spełni ziór { I, P } i ten ziór jest kluczem schemtu R. 2005/2006 Wykłd "Podstwy z dnych" 10
Normlizcj schemtów w relcyjnych Uwg. Schemt relcyjny może posidć wiele kluczy (klucze kndydujące). Jeden z nich nzywmy kluczem głównym, (Primry key). Atryuty nie nleżące do żdnego klucz nzywmy tryutmi niekluczowymi. 2005/2006 Wykłd "Podstwy z dnych" 11
Normlizcj schemtów w relcyjnych - 1PN Definicj. Schemt relcyjny R := ( U, F ) jest w pierwszej postci normlnej (1PN), gdy dl kżdego A U ziór DOM(A) skłd się z wrtości elementrnych (tomic vlue). 2005/2006 Wykłd "Podstwy z dnych" 12
Normlizcj schemtów w relcyjnych - 2PN Definicj. Niech X, Y U i X Y =. Mówimy, że Y jest w pełni funkcyjnie zleżny od X, gdy istnieje zleżność funkcyjn X Y i nie istnieje zleżność z żdnego włściwego podzioru zioru X w Y. X Y F + X Y X 1 X 1 Y F + 2005/2006 Wykłd "Podstwy z dnych" 13
Normlizcj schemtów w relcyjnych - 2PN Definicj. Schemt relcyjny R := ( U, F ) jest w drugiej postci normlnej (2PN), gdy kżdy niekluczowy tryut A U jest w pełni zleżny od kżdego klucz tego schemtu. K 1 A F + K 2 A F + K 1 A K 2 K 1 A F + K 2 A F + 2005/2006 Wykłd "Podstwy z dnych" 14
Normlizcj schemtów w relcyjnych - 2PN Przykłd. Schemt relcyjny E = ( U, F ) gdzie U := { Indeks, Nzwisko, Kierunek, Adres, Przedmiot, Ocen }, F := { I NAK, IP O } z kluczem K := { I, P } nie jest w 2PN, o np. niekluczowy tryut N jest zleżny funkcyjnie tylko od { I } K. 2005/2006 Wykłd "Podstwy z dnych" 15
Normlizcj schemt Normlizcj schemtów relcyjnych w relcyjnych - 2PN Niech E ędzie relcją o schemcie E = ( U, F ) określoną nstępująco: E: I N A K P O 10 f x mt 3 10 f x mt 4 11 g y inf 3 12 h x inf 3 10 f x mt c 5 2005/2006 Wykłd "Podstwy z dnych" 16
Normlizcj schemtów w relcyjnych - 2PN W relcji tej możn zuwżyć nstępujące nomli: usuwni ktulizcji zminy w kilku krotkch; dołączni -nie możn dołączyć student, który nie zdłżdnego egzminu; - np. przy uniewżnieniu egzminu student o indeksie 11 nleży usunąć cłą krotkę, co spowoduje utrtę informcji o studencie. - zmin dresu student wymg 2005/2006 Wykłd "Podstwy z dnych" 17
Normlizcj schemtów w relcyjnych - 2PN Dl kżdej relcji E INST(E) mmy E = E[INKA] >< E[IPO] tzn. uzyskliśmy dw schemty relcyjne i E 1 := ( { I, N, K, A }, { I NAK }) E 2 := ( { I, P, O }, { IP O }) odpowiednio z kluczmi { I } i { I, P }. Jest to rozkłd ez strty dnych. 2005/2006 Wykłd "Podstwy z dnych" 18
E 1 : Normlizcj schemtów w relcyjnych - 2PN Relcję E możn zstąpić dwiem relcjmi: I 10 11 12 N f g h A x y x K mt inf inf E 2 : I 10 10 11 12 10 Kżdy z tych schemtów jest w 2PN. Stwierdzenie. Jeżeli kżdy klucz schemtu jest ziorem jednoelementowym to schemt jest w 2PN. 2005/2006 Wykłd "Podstwy z dnych" 19 P c O 3 4 3 3 5
Normlizcj schemtów w relcyjnych - 3PN Definicj. Ziór tryutów Z jest trnzytywnie zleżny od zioru X, gdy ) X Z =, ) ( Y U ){(Y X = Y Z= ) [(X Y ) F + (Y X) F + (Y Z) F + ]}. X Y Z (X Y ) F + (Y X) F + (Y Z) F + 2005/2006 Wykłd "Podstwy z dnych" 20
Normlizcj schemtów w relcyjnych - 3PN Definicj. Schemt relcyjny R := ( U, F ) jest w trzeciej postci normlnej ( 3PN ), gdy jest w 2PN i kżdy ziór niekluczowych tryutów Z U nie jest trnzytywnie zleżny od kżdego zioru tryutów K ędącego kluczem tego schemtu. 2005/2006 Wykłd "Podstwy z dnych" 21
Normlizcj schemtów w relcyjnych - 3PN Przykłd. Rozwżmy schemt relcyjny E := ( U, F ) U :={Wykonwc, Adres, Projekt, Dt_zkończeni}, F := { W APD, P D } z kluczem K := { W } jest w 2PN. 2005/2006 Wykłd "Podstwy z dnych" 22
Normlizcj schemtów w relcyjnych - 3PN Niech E ędzie relcją o schemcie E := (U, F) U := { Wykonwc, Adres, Projekt, Dt_zk } F := { W AP, P D } określoną nstępująco: E: W A 30 x 40 y 50 y 60 z P c D 01/01/2000 01/01/2000 01/01/1999 01/01/2000 2005/2006 Wykłd "Podstwy z dnych" 23
Normlizcj schemtów w relcyjnych - 3PN Poniewż W P P D to W D tzn. ziór {D} jest trnzytywnie zleżny od zioru {W}. W relcji tej możn zuwżyć nstępujące nomli: dołączni, ktulizcji i usuwni. Dl kżdej relcji E INST(E) mmy E=E[WAP] >< E[PD] tzn. uzyskmy dw schemty relcyjne ędące w 3PN E 1 := ( { W, A, P }, { W A, W P }) i E 2 := ( { P, D }, { P D } ). 2005/2006 Wykłd "Podstwy z dnych" 24
Normlizcj schemtów w relcyjnych - 3PN Jest to rozkłd ez strty dnych. Relcję E możn zstąpić dwiem relcjmi: E 1 : W 30 40 50 60 A x y y z P c E 2 : P c D 01/01/2000 01/01/1999 01/01/2000 2005/2006 Wykłd "Podstwy z dnych" 25
Normlizcj schemtów w relcyjnych - 3PN Uwg. W kżdym schemcie ędącym w 3PN między tryutmi niekluczowymi nie m zleżności funkcyjnych. Zdnie. Sprwdzić, czy schemt relcyjny E := ( { A, B, C }, { AB C, C A } ) jest w 3PN. 2005/2006 Wykłd "Podstwy z dnych" 26
Normlizcj schemtów w relcyjnych - PNB-C Definicj. Schemt relcyjny R := ( U, F ) jest w postci normlnej Boyce'-Codd,(PNB-C), gdy z fktu ( X Y ) F +, Y U - X, wynik, że X jest ndkluczem tzn. ( X U ) F +. 2005/2006 Wykłd "Podstwy z dnych" 27
Uwg. Kżdy schemt w PNB-C jest w 3PN. Przykłd. Schemt relcyjny E := ( { Student, Przedmiot, Wykłdowc }, { W P, SP W } ) z kluczem K := { S, P } nie jest w PNB-C, o mimo, że W P F +, to nie istnieje zleżność W U. Normlizcj schemtów relcyjnych - PNB-C 2005/2006 Wykłd "Podstwy z dnych" 28
Normlizcj schemtów relcyjnych - PNB-C Niech E ędzie relcją o schemcie R := ( U, F ) określoną nstępująco: E: S P W W relcji E występują nomli usuwni i dołączni. Nie możn dołączyć wykłdowcy i przedmiotu jeżeli rk chociż jednego student uczęszczjącego n wykłd. Nie możn również usunąć osttniego student uczęszczjącego n dny przedmiot. 2005/2006 Wykłd "Podstwy z dnych" 29 10 11 10 11 x x y z
Normlizcj schemtów relcyjnych relcyjnych - PNB-C Schemt E możn rozłożyć n dw schemty relcyjne E 1 := ( { W, P }, { W P } ) i E 2 := ( { W, S }, ), z których kżdy jest w PNB-C. Wtedy relcję E możn przedstwić w postci: E 1 : W x y z P E 2 : W x x y z S 10 11 10 11 2005/2006 Wykłd "Podstwy z dnych" 30
Normlizcj schemtów relcyjnych - PNB-C Poniewż E = E 1 >< E 2, więc rozkłd ten jest rozkłdem ez strty dnych, le nie jest rozkłdem ez strty zleżności, owiem { W P, SP W } + {{W P } } +. Nie jest możliwe dopisnie krotki (z,10) do relcji E 2, owiem wykłdowc z prowdzi wykłd z przedmiotu, student 10 uczęszcz n ten przedmiot do wykłdowcy y. 2005/2006 Wykłd "Podstwy z dnych" 31
Zleżność wielowrtościow Definicj. Niech X,Y U, Z:= U - XY. Mówimy, że istnieje zleżność wielowrtościow między ziormi X i Y, co oznczmy przez X >>Y, gdy dl kżdego zioru KROTKA(U) istnieje pewn funkcj ω : KROTKA(X) (KROTKA(YZ)), gdzie (KROTKA(YZ)) ozncz ziór wszystkich podziorów zioru KROTKA(YZ), tk, że jeżeli do zioru ω(krotka(x)) nleżą krotki ( y, z ) i (y, z ), to nleżą również krotki ( y, z ) i (y, z ). 2005/2006 Wykłd "Podstwy z dnych" 32
Zleżność wielowrtościow Definicj. Niech dn ędzie relcj R(U), X, Y U i Z:=U-XY. Mówimy, że w R spełnion jest zleżność wielowrtościow X >> Y, gdy spełniony jest jeden z równowżnych wrunków: ) (, ), [ ] ( [ ]) [ ] ( ) x R X y y R Y z z R Z { [( x >< y >< z R) ( x >< y >< z R) ] [( x >< y >< z R) ( x >< y >< z R) ] } ) [ XY ] R[ XZ ]. R = R >< 2005/2006 Wykłd "Podstwy z dnych" 33
Zleżność wielowrtościow X Y Z Uwg. Kżd zleżność funkcyjn X Y jest zleżnością wielowrtościową tzn. X >> Y. Uwg. Zleżności X >> U i X >> spełnione są w kżdej relcji R(U). Nzywmy je trywilnymi zleżnościmi wielowrtościowymi. 2005/2006 Wykłd "Podstwy z dnych" 34
Zleżność wielowrtościow Przykłd. U := { Prcownik, Imię_Dzieck, Zroki, Rok } E: P D x y x y z z Z 1000 1000 1500 1500 1200 1600 R 1983 1983 1984 1984 1983 1984 P >> D P >> ZR E 1 : P D E 2 : P Z R x 1000 1983 y 1500 1984 z 1200 1983 P >> D 1600 1984 P >> ZR 2005/2006 Wykłd "Podstwy z dnych" 35
Zleżność wielowrtościow Definicj. Niech U ędzie ziorem tryutów i M { X >> Y X U Y U }. Przez M + oznczmy njmniejszy (ze względu n relcję ) ziór zleżności wielowrtościowych tkich, że M M + i dl ( X, Y, Z U)( X Y= X Z = Z Y = ) spełnione są nstępujące ksjomty: 2005/2006 Wykłd "Podstwy z dnych" 36
Zleżność wielowrtościow ( Y X ) ( X >> Y ) M, + M0. (zwrotność), ( X >> Y ) M ( X >> U XY) M, ( X >> Y) M ( XZ >> YZ) M, M1. + + (dopełnilność), M2. + + (poszerzlność), [ M ] ( X >> Z ) M, ( X >> Y) M ( Y >> Z) M3. + + + (przechodniość), M4. M5. M6. [ ] + + M ( XZ >> W ) M, + ( X >> Y) M ( YZ >> W) + ( X >> Y ) M ( X >> Z ) (pseudo-przechodniość), [ ] + + M ( X >> YZ ) M, (ddytywność), [( ) ( ) ] + + ( ) + X >> Y M X >> Z M X >> Y Z M, (dekompozycj). 2005/2006 Wykłd "Podstwy z dnych" 37
Uwg. Między zleżnościmi funkcyjnymi i wielowrtościowymi zchodzą nstępujące związki: FM1. FM2. Zleżność wielowrtościow ( ) + ( ) + X Y F X >> Y M, [( ) ( ) ( ) ( )] + + X >> Z M Y >> V M V Z Y Z = ( ) + X V F. 2005/2006 Wykłd "Podstwy z dnych" 38
Schemt relcyjny Definicj. Dl zioru tryutów U i ziorów F i M, ( zkłdmy, że ziór M nie zwier zleżności funkcyjnych), prę R := ( U, F M ) nzywmy schemtem relcyjnym i mówimy, że relcj R jest przypdkiem schemtu relcyjnego R jeśli jest relcją typu U orz kżd zleżność funkcyjn i wielowrtościow jest spełnion w R. 2005/2006 Wykłd "Podstwy z dnych" 39
Zleżność wielowrtościow - 4PN Definicj. Mówimy, że schemt relcyjny R := ( U, F M ) jest w czwrtej postci normlnej (4PN) gdy [( ) ( ) ] + ( ) + X >> Y M Y U X X U F. Przykłd. Dl schemtu relcyjnego - R := ( { P, D, Z, R }, {D P, PR Z, P > D, }) i relcji E z przykłdu ze sljdu 35 rozwżmy dw schemty R 1 := ( { P, D }, {D P }), R 2 := ( { P, Z, R }, { PR Z }). Wtedy relcje E 1 i E 2 z tego przykłdu są w 4PN. 2005/2006 Wykłd "Podstwy z dnych" 40
Schemt relcyjnej zy dnych Definicj. Schemtem relcyjnej zy dnych nzywmy ziór R := { R i := ( U i, F i ) i = 1,2,..,n }. wszystkich schemtów relcyjnych występujących w dnej zie dnych 2005/2006 Wykłd "Podstwy z dnych" 41
Algorytm tworzeni schemtu relcyjnej zy dnych 1. Określmy jeden schemt relcyjnej zy dnych { R := ( U, F ) }, gdzie U jest ziorem wszystkich tryutów występujących w zie dnych, przy czym ziór U doiermy w tki sposó y możn yło n ziorze U określić zleżności funkcyjne. 2. Rozkłdjąc schemt relcyjny R n schemty R := ( U i i, F i ), i = 1,2,..,n otrzymmy schemt zy dnych R := { R := ( U i i, F i ) i = 1,2,..,n }. 2005/2006 Wykłd "Podstwy z dnych" 42