PODSTAWY BAZ DANYCH Wykłd 2 2. Pojęcie Relcyjnej Bzy Dnych 2005/2006 Wykłd "Podstwy bz dnych" 1
Pojęcie krotki - definicj Definicj. Niech dny będzie skończony zbiór U := { A 1, A 2,..., A n }, którego elementy nzywć będziemy trybutmi. Niech kżdemu trybutowi A i U przyporządkowny będzie zbiór wrtości DOM(A i ) zwny dziedziną trybutu A i, (domeną). Niech KROTKA( U ) : = X i=.. DOM ( A i 1 n ) Elementy tego zbioru nzywć będziemy krotkmi. 2005/2006 Wykłd "Podstwy bz dnych" 2
Pojęcie relcji - definicj Uwg. Zbiór KROTKA(U) może być zbiorem nieskończonym (gdy jeden ze zbiorów DOM(A i ) jest zbiorem nieskończonym). Definicj. Relcją typu U nzywmy dowolny skończony podzbiór zbioru KROTKA(U). Zbiór wszystkich relcji typu U oznczć będziemy przez REL(U). 2005/2006 Wykłd "Podstwy bz dnych"
Pojęcie krotki i relcji - oznczeni Relcję typu U oznczć będziemy przez R(U), S(U), T(U),.. Jeżeli z kontekstu wynikć będzie jednozncznie o jki zbiór trybutów chodzi, pisć będziemy R, S, T,... Krotki typu U oznczć będziemy r(u), s(u), t(u)... Jeżeli z kontekstu wynikć będzie jednozncznie typ krotki, pisć będziemy r, s, t,... 2005/2006 Wykłd "Podstwy bz dnych" 4
Pojęcie krotki i relcji - oznczeni Podzbiory zbioru trybutów U oznczć będziemy dużymi litermi X, Y, Z,... Do oznczeni sumy dwóch zbiorów X, Y U stosowć będziemy zpis XY zmist X Y. Dl zbioru trybutów { A, B } zmist pisć R({A, B}), stosowć będziemy zpis R(A,B). 2005/2006 Wykłd "Podstwy bz dnych" 5
Pojęcie krotki i relcji - przykłd Przykłd. Relcj typu U:={ I, N, P, O } U:={nr_Indeksu, Nzwisko_student, nr_przedmiotu, Ocen} I N P O 10 Nowk 10 Nowk b 4 11 Norek 12 Burek 2005/2006 Wykłd "Podstwy bz dnych" 6
Opercje n relcjch - Opercje mnogościowe N relcjch definiuje się pewne opercje relcyjne i mnogościowe. Definicj. Sumą, różnicą, przekrojem i dopełnieniem relcji R(U) nzywmy odpowiednio zbiory () { t KROTKA(U) t R(U) t S(U) }; (b) { t KROTKA(U) t R(U) t S(U) }; (c) { t KROTKA(U) t R(U) t S(U) }; (d) KROTKA(U)-R(U), przy czym zbiór KROTKA(U) musi być zbiorem skończonym, gdyż w przeciwnym wypdku byłby sprzeczność z definicją relcji. 2005/2006 Wykłd "Podstwy bz dnych" 7
Opercje n relcjch - Opercje mnogościowe Zbiory te będziemy oznczć odpowiednio przez R(U) S(U), R(U) S(U), R(U)-S(U), -R(U). Zuwżmy, że definicje te dotyczą relcji tego smego typu. 2005/2006 Wykłd "Podstwy bz dnych" 8
Złączenie krotek - definicj Definicj. Niech U będzie zbiorem trybutów i X, Y U, r KROTKA(X), s KROTKA(Y), Z := X Y. Krotkę t KROTKA(Z) nzywmy złączeniem krotki r i s, co oznczmy t = r s,gdy >< t[x] = r i t[y ] = s, gdzie t[x] i t[y ] ozncz obcięcie krotki t do trybutów X i Y. 2005/2006 Wykłd "Podstwy bz dnych" 9
Niech U:={I, N, P, O } i X :={ I, N } i Y:={I, P, O } orz Jeżeli Z := X Y ={ I, N, P, O }. r = { 10, Nowk } i s = { 10,, } to krotk t typu Z postci Złączenie krotek - przykłd t = { 10, Nowk,, } jest złączeniem krotek r i s. 2005/2006 Wykłd "Podstwy bz dnych" 10
Projekcj - definicj Definicj. Dl dnej relcji R(U) orz zbioru X U zbiór R[X]: ={ t KROTKA(X) ( r R(U) ( t = r[x] ) }. nzywmy projekcją R n X. Stwierdzenie. Jeżeli dn jest relcj R(U) i X U to R[X] = { t KROTKA(X) ( s KROTKA(U-X) ) (t >< s R ) }. 2005/2006 Wykłd "Podstwy bz dnych" 11
Pojęcie krotki i relcji - przykłd Przykłd. Relcj typu U:={ I, N, P, O } U:={nr_Indeksu, Nzwisko_student, nr_przedmiotu, Ocen} I N P O 10 Nowk 10 Nowk b 4 11 Norek 12 Burek 2005/2006 Wykłd "Podstwy bz dnych" 12
Projekcj - przykłd Przykłd. Relcj R typu U:={ I, N, P, O } R[IN] R[IPO] I N I P O 10 Nowk 10 11 Norek 10 b 4 12 Burek 11 12 2005/2006 Wykłd "Podstwy bz dnych" 1
Złączenie relcji - definicj Definicj. Dl dnych relcji R(X) i S(Y) relcję T:={ t KROTKA(X Y) ( t[x] R ) ( t[y] S ) } typu X Y nzywmy złączeniem relcji i oznczmy przez R >< S. Stwierdzenie. Jeżeli dne są relcje R(X) i S(Y) to R >< S ={ t KROTKA(X Y) ( r R ) ( s S ) ( t = r >< s ) }. 2005/2006 Wykłd "Podstwy bz dnych" 14
Złączenie relcji - przykłd Przykłd. R(X), X={ I, N } i S(Y), Y={ I, P, O } U = X Y ={ I, N, P, O } R(X) S(Y) I N I P O 10 Nowk 10 11 Norek 10 b 4 12 Burek 11 12 2005/2006 Wykłd "Podstwy bz dnych" 15
Złączenie relcji - przykłd Relcj R >< S typu U:={ I, N, P, O } I N P O 10 Nowk 10 Nowk b 4 11 Norek 12 Burek 2005/2006 Wykłd "Podstwy bz dnych" 16
Złączenie relcji - przykłd Przykłd. R(X), X={ I, N } i S(Y), Y={ P, O } U = X Y ={ I, N, P, O } R(X) S(Y) I N P O 10 Nowk 11 Norek b 4 12 Burek 2005/2006 Wykłd "Podstwy bz dnych" 17
Zleżno ności funkcyjne - definicj Definicj. Niech U będzie zbiorem trybutów i X, Y U. Mówimy, że istnieje zleżność funkcyjn między zbiormi X i Y, co oznczmy X Y, gdy w kżdej relcji R(U) KROTKA(U) istnieje pewn funkcj R[X] R[Y], (przy różnych relcjch R(U) funkcje te mogą być różne). 2005/2006 Wykłd "Podstwy bz dnych" 18
Zleżno ności funkcyjne - oznczeni Gdy X = {A 1, A 2..., A n } i Y = { B 1, B 2..., B m }, gdzie A i, B i oznczją pojedyncze trybuty z U, to będziemy również używć oznczeni A 1 A 2...A n B 1 B 2...B m. 2005/2006 Wykłd "Podstwy bz dnych" 19
Definicj. Dl dnej relcji mówimy, że w R(U) gdy Zleżno ności funkcyjne - definicj R(U), X, Y U, spełnion jest zleżność funkcyjn X Y, ( )( r 1, r 2 R(U) ) [ ( r 1 [X]=r 2 [X]) ( r 1 [Y]=r 2 [Y]) ]. 2005/2006 Wykłd "Podstwy bz dnych" 20
Przykłd. Niech Zleżno ności funkcyjne - przykłd U:={nr_Indeksu, Nzwisko_student, nr_przedmiotu, Ocen} i relcj R(U) będzie określon nstępująco: I N P O 1 A 101 1 A 102 4 2 B 101 C 101 2005/2006 Wykłd "Podstwy bz dnych" 21
Zleżno ności funkcyjne - przykłd W relcji R(U) spełnione są nstępujące zleżności funkcyjne: I N, IP O. Zuwżmy, że dl zbiorów { P } i { O } wrunek z ( ) jest również spełniony, le między tymi zbiormi nie istnieje zleżność funkcyjn. Istotnie, po dodniu krotki (, C, 102, ) wrunek z ( ) nie będzie spełniony. 2005/2006 Wykłd "Podstwy bz dnych" 22
Aksjomty Armstrong - przykłd Przykłd. Niech U:={Przedmiot, nr_indeksu, Ocen, nr_egzmintor, Godzin_egzminu, Sl}. N tym zbiorze trybutów możn określić np. nstępujący zbiór zleżności funkcyjnych: F:={ P GS, GS P, PI O, GI PS, PGS E }. Zmist zleżności funkcyjnej P GS możn wprowdzić dwie zleżności P G i P S. Poz tym np. z zleżności P GS i PGS E wynik zleżność P E. 2005/2006 Wykłd "Podstwy bz dnych" 2
Aksjomty Armstrong- domknięcie zbioru F Definicj. Niech U będzie zbiorem trybutów i niech Przez F { X Y ( X U ) ( Y U ) }. F + oznczmy njmniejszy (ze względu n relcję zwierni) zbiór zleżności funkcyjnych, który zwier zbiór F i dl dowolnych X, Y, Z U spełni nstępujące ksjomty: 2005/2006 Wykłd "Podstwy bz dnych" 24
Aksjomty Armstrong F1. ( Y X ) [ (X Y ) F + ], (zwrotność); F2. [ (X Y ) F + ] [ (XZ YZ ) F + ], (poszerzlność); F. [ (X Y ) F + (Y Z ) F + ] [ (X Z ) F + ], (przechodniość). Zbiór F + nzywmy njmniejszym domknięciem zbioru F. 2005/2006 Wykłd "Podstwy bz dnych" 25
Aksjomty Armstrong Uwg. Armstrong (1974) wykzł, że zbiór F + możn otrzymć ze zbioru F używjąc tylko reguł wnioskowni F1, F2 i F. Definicj. Niech U będzie zbiorem trybutów i niech F będzie zbiorem zleżności funkcyjnych. Dl zbioru K U będącego poprzednikiem pewnej zleżności z F zbiór K + := {A U istnieje K A } nzywmy domknięciem zbioru K względem zbioru F. 2005/2006 Wykłd "Podstwy bz dnych" 26
Aksjomty Armstrong Algorytm wyznczni zbioru K +. K + := K; REPEAT oldk + := K + ; FOR EACH zleżność funkcyjn Y Z z F DO IF Y K + THEN K + := K + Z ; UNTIL ( K + = oldk + ); 2005/2006 Wykłd "Podstwy bz dnych" 27
Aksjomty Armstrong Przykłd. Niech U:={ A, B, C, D } i F:={ A BC, C D, AC B }. Dl zbioru K:={ A } wyznczyć zbiór K +. Rozwiąznie. K + := { A }; Pocztek pętli REPEAT oldk + := { A }; K + := { A, B, C }; {pętl FOR } oldk + := { A, B, C }; K + := { A, B, C, D }; {pętl FOR } oldk + := { A, B, C, D }; {pętl FOR } Koniec pętli REPEAT 2005/2006 Wykłd "Podstwy bz dnych" 28
Aksjomty Armstrong Stwierdzenie. (wynikjące z ksjomtów Armstrong). F4. [ (X Y ) F + (YW Z ) F + ] [ (XW Z ) F + ], F5. [ (X Y ) F + (X Z ) F + ] [ (X YZ ) F + ], F6. [ (X YZ ) F + ] [ (X Y ) F + (X Z ) F + ]. 2005/2006 Wykłd "Podstwy bz dnych" 29
Schemt relcyjny i jego związek zek z relcją - definicj Definicj. Niech dl dnego zbioru trybutów U F będzie zbiorem zleżności funkcyjnych określonych n U. Prę uporządkowną R := ( U, F ) nzywmy schemtem relcyjnym o zbiorze trybutów U i ze zbiorem zleżności F. 2005/2006 Wykłd "Podstwy bz dnych" 0
Schemt relcyjny i jego związek zek z relcją - definicj Definicj. Mówimy, że relcj R jest przypdkiem schemtu relcyjnego R := ( U, F ), (lub, że jej schemtem jest R ), gdy R jest relcją typu U i spełnion jest w niej kżd zleżność funkcyjn (X Y) F. Zbiór wszystkich relcji R o schemcie R oznczć będziemy przez INST(R). 2005/2006 Wykłd "Podstwy bz dnych" 1
Schemt relcyjny - projekcj Definicj. Dl dnego schemtu relcyjnego R := ( U,F ) i X U schemt relcyjny ( X, G ) nzywmy projekcją schemtu Rn zbiórx, co oznczmy przez R[X], gdy G + = { (Y Z ) F + Y Z X } +, tzn. G jest podzbiorem zbioru tych zleżności ze zbioru F +, w których występują tylko trybuty ze zbioru X. 2005/2006 Wykłd "Podstwy bz dnych" 2
Schemt relcyjny - złączenie Definicj. Dl schemtów relcyjnych R := ( X, F ) i S := ( Y, G ) schemt ( Z, H ) nzywmy złączeniem schemtów R i S, co oznczmy przez R >< S, gdy Z = X Y i H = F G. 2005/2006 Wykłd "Podstwy bz dnych"
Definicj. Mówimy, że schemt relcyjny R := ( U, F ) jest rozkłdlny bez strty dnych n dw schemty gdy Rozkłdlno dlność schemtów w relcyjnych ) X Y = U, R[X] i R[Y], b) ( R INST(R ) ) ( R = R[X] >< R[Y] ). 2005/2006 Wykłd "Podstwy bz dnych" 4
Rozkłdlno dlność schemtów w relcyjnych Twierdzenie. Schemt relcyjny R := ( U, F ) jest rozkłdlny bez strty dnych n schemty R[XY] i R[XZ], X Y Z = U, Y Z = wtedy i tylko wtedy, gdy ( X Y ) F + lub ( X Z ) F + tzn., gdy dl kżdej relcji R o schemcie R:=(U,F) mmy (R=R[XY] >< R[XZ] ) [(X Y) F + (X Z ) F + ] 2005/2006 Wykłd "Podstwy bz dnych" 5