• Nie Znaleziono Wyników

OperacjealgebraicznewrelacyjnychbazachdanychCz˛e´s´cII Bazydanychisystemyzarz˛adzania

N/A
N/A
Protected

Academic year: 2021

Share "OperacjealgebraicznewrelacyjnychbazachdanychCz˛e´s´cII Bazydanychisystemyzarz˛adzania"

Copied!
18
0
0

Pełen tekst

(1)Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. Bazy danych i systemy zarzadzania ˛. Wykład VI. Operacje algebraiczne w relacyjnych bazach danych Cz˛es´c´ II. c Antoni Lig˛eza. 1.

(2) Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. 2. Operacje łaczenia ˛ tablic Łaczenie ˛ tablic - idea Tablice relacyjnej bazy danych moga˛ by´c łaczone. ˛ Łaczenie ˛ tablic wykonuje si˛e w celu uzyskania dost˛epu do informacji zbiorczej znajdujacej ˛ si˛e w dwóch lub wi˛ecej tablicach. Łaczenie ˛ tablic definiuje si˛e poprzez wskazanie które rekordy jednej tablicy b˛eda˛ łaczone ˛ z którymi rekordami drugiej tablicy. Podstawowy i najcz˛es´ ciej spotykany schemat połaczenia ˛ to połaczenie ˛ wynikajace ˛ z relacji klucz – klucz obcy. W tabeli nadrz˛ednej klucz identyfikuje obiekty nadrz˛edne, takie jak wydział, zbiór, grupa. W tabeli podrz˛ednej encje takie jak pracownik, element, osoba maja˛ swój identyfikator, a ich przynale˙zno´sc do obiektów nadrz˛ednych wskazana jest poprzez warto´sc´ klucza obcego (klucza z tablicy nadrz˛ednej pełniacego ˛ w tablicy podrz˛ednej rol˛e atrybutu).. TABLE_SET. TABLE_ITEM. # SET_ID. # ITEM_ID. ATT−1 ATT−2 ATT−N. BTT−1 BTT−2 ... SET−ID (FK) ... BTT−M. Rysunek 1: Schemat podstawowy łaczenia ˛ tablic.. c Antoni Lig˛eza.

(3) Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. 3. Operacje łaczenia ˛ tablic (join) Operacja  złaczenia ˛ ( -join) Technologia relacyjnych baz danych umo˙zliwia łaczenie ˛ informacji zawartej w wielu tabelach; połaczenia ˛ definiuje si˛e pomi˛edzy rekordami dwóch wybranych tabel. Najbardziej ogólna˛ operacja˛ łaczenia ˛ tabel jest operacja -złaczenia, ˛ gdzie oznacza warunek dopuszczajacy ˛ połaczenie ˛ rekordów. Niech oraz b˛eda˛ dowolnymi relacjami, przy czym , . Niech b˛edzie warunkiem logicznym okre´slonym na atrybutach zbioru (niekoniecznie wszystkich); b˛edziemy pisa´c . Wynikiem operacji -złaczenia ˛ relacji i jest relacja zdefiniowana w nast˛epujacy ˛ sposób:. . .  

(4)   

(5)  

(6)      

(7)   

(8)  ! "   

(9) #  ! $%& '!(    )*+ ,-. / 021436587:9;=< > ?136587:9;A@'/ <CB . . . . Tak wi˛ec, operacja -złaczenia ˛ pozwala połaczy´ ˛ c te rekorty tabeli oraz , które spełniaja˛ warunek dla warto´sci wybranych atrybutów (selekcja przy warunku . Je˙zeli warunek jest zawsze prawdziwy (lub nie został okres´ lony), to operacja -złaczenia ˛ daje jako wynik iloczyn kartezja´nski relacji oraz . Je˙zeli warunek jest okre´slony na pojedynczych atrybutach, np. oraz , to operacj˛e -złaczenia ˛ relacji oraz mo˙zna zapisa´c w postaci takiej jak lub . Logiczna definicja operacji -złaczenia ˛ ma posta´c:. $%& '!(. . . E  ,GFIHJ-LKMN +. . . O,.DP-QE. . . . . .  RO, -TSVUXWZY\[ ]^_  ^`a

(10) ^`Ib$c  ^Ibde R^_ 

(11) ^` GR^`Ib$ 

(12) ^`Ibd $%& '!( .. c Antoni Lig˛eza. D.

(13) Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. 4. Przykład operacji -złaczenia ˛ Rozwa˙zmy relacj˛e. . zadana˛ tablica˛ Pracownik:. Nazwisko Abacki Abakowski Adamski Adamski Adamski Aron Batman Celi´nska Dioniziak. Imi˛e Adam Alojzy Antoni Arnold Arnold Antonina Bogusław Mirosława Dariusz. Data ur 61-01-01 61-01-02 61-01-03 61-01-03 61-01-03 61-01-03 67-02-13 69-03-08 71-10-17. Stawka 550,00 zł 574, 00 zł 1275,00 zł 1280,00 zł 1295,00 zł 575,00 zł 1224,00 zł 975,00 zł 3000,00 zł. oraz tablic˛e Nagroda Data ur Stawka1 Stawka2 Nagroda 61-01-03 300,- zł 1300,- zł 300,- zł 72-01-01 2999,- zł 3001,-zł 3000,- zł. . przy czym niech b˛edzie warunkiem postaci Pracownik.[Data ur] <= Nagroda.[Data ur] AND Pracownik.Stawka > Nagroda.Stawka1 AND Pracownik.Stawka < Nagroda.Stawka2. Wynikiem operacji -złaczenia ˛ b˛edzie tabela. . Nazwisko Abacki Abakowski Aron Dioniziak. Imi˛e Adam Alojzy Antonina Dariusz. c Antoni Lig˛eza. Data ur 61-01-01 61-01-02 61-01-03 71-10-17. Stawka 550,00 zł 574, 00 zł 575,00 zł 3000,00 zł. Data ur 61-01-03 61-01-03 61-01-03 72-01-01. Stawka1 300,- zł 300,- zł 300,- zł 2999,- zł. Stawka2 1300,- zł 1300,- zł 1300,- zł 3001,- zł. Nagroda 300,- zł 300,- zł 300,- zł 3000,- zł.

(14) Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. 5. Równozłaczenie ˛ (equijoin). . Jednym z najcz˛estszych przypadków operacji -złaczenia ˛ jest operacja równozłaczenia. ˛ W przypadku równozłaczenia ˛ warunek ma posta´c równo´sci wybranych atrybutów obu tabel.. .  

(15)   

(16)  oraz 

(17)     b˛eda˛ dowolnymi relacjami, przy czym        , !  

(18)  

(19)   . Wynikiem  operacji równozłaczenia ˛ relacji  i  po atrybutach    gf  ze . ! ze schematu relacji  schematu relacji  oraz atrybutach 

(20)  h  f Niech. jest relacja. / j 0 i T kmle'n i kmlN npoqororn i sk l < > ? i T ksl=tn i kmlN nporoqoqn i mk l @'/ f f f f. <CB . Tak wi˛ec, operacja równozłaczenia ˛ pozwala połaczy´ ˛ c te rekordy tabeli oraz dla których warto´sci wybranych atrybutów sa˛ równe. Zauwa˙zmy, z˙ e dla realizacji operacji równozłaczenia ˛ nie musi istnie´c wspólny atrybut dla obu relacji (mo˙ze by´c ). Je˙zeli warunek jest okre´slony na pojedynczych atrybutach, np. oraz , to operacj˛e -złaczenia ˛ relacji oraz mo˙zna zapisa´c w postaci takiej jak lub . Operacja równozłaczenia ˛ jest szczególnym (ale najcz˛es´ ciej spotykanym) przypadkiem operacji -złaczenia. ˛ Maksymalna liczba elementów w relacji wynikowej dla operacji -złaczenia ˛ wynosi . Je˙zeli atrybuty definiujace ˛ połaczenie ˛ z relacji tworza˛ klucz (lub indeks jednoznczny), to maksymalna liczba elementów relacji wynikowej wynosi ; je˙zeli oba zbiory atrybutów definiujacych ˛ połaczenie ˛ stanowia˛ klucze, to maksymalna liczba elementów relacji wynikowej wynosi .. . .  E  , F HQu K Mv +. . . !. O, D u E  . wxzy^{R  wxzyd^|R]. wx}y^|R]. ~€mRwx}y^|R 

(21) wxzy^{R]. c Antoni Lig˛eza. . . D. . .

(22) Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. 6. Złaczenie ˛ naturalne (natural join) Operacja złaczenia ˛ naturalnego stanowi z kolei szczególny przypadek operacji równozłaczenia. ˛ Polega ona na połaczeniu ˛ dwóch relacji według warto´sci wspólnych atrybutów. Niech oraz b˛eda˛ dowolnymi relacjami, przy czym , . Istotnym zało˙zeniem pozwalajacym ˛ na realizacj˛e złaczenia ˛ naturalnego jest istnienie wspólnych atrybutów w łaczonych ˛ relacjach, tzn.:.  

(23)  

(24)     

(25)        

(26)  h   !  

(27)  

(28)  .  !  Niech zatem  ˛ !      f . Wynikiem operacji równozłaczenia  relacji  i  po atrybutach 

(29)  

(30) ‚f jest relacja / 0jƒ o i „ks o i 'nporoqorn ƒ o i km o i < > † 58‡_9 ?ƒ o i „ks o i 'nporoqoqn ƒ o i km o i @'/ <CB f f f f Tak wi˛ec, operacja złaczenia ˛ naturalnego pozwala połaczy´ ˛ c te rekordy tabeli  oraz  dla których warto´sci wszystkich wspólnych atrybutów sa˛ równe. W tabeli wynikowej powtarzajace ˛ si˛e kolumny sa˛ pomijane (projekcja na atrybuty zbioru. . !. ). Zauwa˙zmy, z˙ e dla realizacji operacji złaczenia ˛ naturalnego musi ist-. nie´c przynajmniej jeden wspólny atrybut dla obu relacji; ponadtdo, je˙zeli znane sa˛ schematy obu relacji, to zbiór wszystkich wspólnych atrybutów jest zadany jednoznacznie i nie trzeba go podawa´c jawnie. Stosowane sa˛ wtedy zapisy:. / 0 < / <‰ˆ. Operacja złaczenia ˛ naturalnego jest szczególnym (ale najcz˛es´ ciej spotykanym) przypadkiem operacji równozłaczenia. ˛ Maksymalna liczba elementów w relacji wynikowej jest ograniczana identycznie jak w przypadku równozłaczenia. ˛ c Antoni Lig˛eza.

(31) Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. 7. Przykład operacji złaczenia ˛ naturalnego Rozwa˙zmu ponownie tablice dostawców i odbiorców materiałów budowlanych.. ŠŒ‹`Ž xzwx ”’|^z•4– ”’|^z•4– ”’|^z•4– ˜ ”x’|Žš^z™ •4’|– ^ ˜ x Žš™ ’|^ ˜ x Žš™ ’|^ ˜ x Žš™ ’|^. ‘y ‹ ^z’|“ Ž cegła —$’ `Ž xz“ Ž w•4~€ •4 —px `Ž •4“ —$’ xz“ Ž w•4~€•4  ›œ—  —px •4“. oraz. ‘y ‹ ^z’|“ Ž cegła —$’ `Ž xz“ Ž w•4~€•4 Ž w•4~€ •4 —px  •4“ —px •4 “ ›œ—.  ^ ™  ‹ ywx ž Ÿz“ ™™ |’ ^ ž Ÿz“ ™ ’|^  •4~ ™ ’a^ ž Ÿz“ ™ ’|^  •4~ ™ ’a^ ž Ÿz“ ™ ’|^  •4~ ’a^. W wyniku operacji złaczenia ˛ naturalnego dostaniemy tabel˛e postaci:. ŠŒ‹`Ž xzwx ”’|^z•4– ”’|^z•4– ”’|^z•4– ”’|^z•4– ”’|^z•4– ˜ ”x’|ŽT^z™ •4’a– ^ ˜ x ŽT™ ’a^ ˜ x ŽT™ ’a^ ˜ x ŽT™ ’a^ ˜ x ŽT™ ’a^ ˜ x ŽT™ ’a^. c Antoni Lig˛eza. ‘y ‹ ^z’|“ Ž cegła —$’ `Ž xz“ Ž w•4~€•4 Ž w•4~€ •4 —px  •4“ —px `Ž •4“ —$’ xz“ Ž w•4~€•4 Ž w•4~€•4  ›œ—  —px  •4“ —px •4“.  ^ ™  ‹ ywx ž Ÿz“ ™™ |’ ^ ž Ÿz“ ™ ’|^  •4~ ™ ’|^ ž Ÿz“ ™ ’|^  •4~ ™ ’|^ ž Ÿz“ ™ ’|^ ž Ÿz“ ™ ’|^  •4~ ™ ’|^ ž Ÿz“ ™ ’|^  •4~ ™ ’|^  •4~ ™ ’|^ ž Ÿz“ ’|^.

(32) Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. 8. Typy złaczenia ˛. . W rezultacie złaczenia ˛ ( -złaczenia, ˛ równozłaczenia, ˛ złaczenia ˛ naturalnego) relacji i relacji powstaje relacja wynikowa zawierajaca ˛ tylko te konkatenacje rekordów obu tabel, dla których spełnione jest kryterium złaczenia. ˛ Jest to tzw. złaczenie ˛ wewn˛etrzne (inner join) i jest ono przyjmowane jako domy´slne. W praktycznych przypadkach, mo˙ze zaistnie´c potrzeba roszerzenia relacji wynikowej o rekordy jednej lub drugiej relacji nie pasujace ˛ do z˙ adnego rekordu drugiej tabeli. Mamy wówczas mo˙zliwo´sc´ utworzenia czterech innych typów złacze´ ˛ n:. . . złaczenie ˛ lewostronne zewn˛etrzne (left outer join), tzn. złaczenie ˛ zawierajace ˛ wszystkie rekordy tablicy uzupełnione tymi rekordami z tablicy , które spełniaja˛ warunek połaczenia, ˛. . . złaczenie ˛ prawostronne zewn˛etrzne (right outer join), tzn. złaczenie ˛ zawierajace ˛ wszystkie rekordy tablicy uzupełnione tymi rekordami z tablicy , które spełniaja˛ warunek połaczenia, ˛. . . złaczenie ˛ zewn˛etrzne pełne (full outer join), tzn. złaczenie ˛ zawierajace ˛ wszystkie rekordy tablic oraz uzupełnione warto´sciami typu NULL w przypadku gdy do danego rekordu nie pasuje z˙ aden rekord z drugiej tablicy; w istocie jest to kombinacja złaczenia ˛ lewo- i prawostronnego,. . . złaczenie ˛ zewn˛etrzne typu union, tzn. złaczenie ˛ zawierajace ˛ wszystkie rekordy tablicy nie pasujace ˛ do z˙ adnego rekordu uzupełnione tymi rekordami z tablicy , które nie pasuja˛ do z˙ adnego rekordu tablicy ; ten typ złaczenia ˛ stanowi przeciwie´nstwo złaczenia ˛ wewn˛etrznego (dokładniej: uzupełnienie do iloczynu kartezja´nskiego).. . . . . We wszystkich przypadkach pola puste wypełniane sa˛ warto´sciami NULL.. c Antoni Lig˛eza.

(33) Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. 9. Przykłady złacze ˛ n´ Rozwa˙zmy nast˛epujace ˛ tabele:. ‘y ‹ `^zŽ ’|“ Ž —$’ `Ž xz“ —$’ xz“ Ž w•4~€ •4 —px  •4“ —px •4 “ ›œ—. ŠŒ‹`Ž x}wx ˜ ”x’aŽš^}™ •’|– ^ ˜ ”x’aŽš^}™ •’|– ^ ‹™ ’|^  ¡ • ¢ £ ™ ’a^ ¤ •4y ‹™ ’a^. oraz. ŠŒ‹`Ž xzwx ”’|^z•4– ˜ ”x’|Žš^z™ •4’|– ^  ¡• ‹‹™™ ’|^  ¡• ‹™ ’|^ ‘"Ž y ŽT™ ’a^  xzy ’a^. ) •¥¦•4§ ‹  ¨I¨©¨ ¨©¨I¨ ªIª©ª ª©ªIª «I«©« «©«I« ¬I¬©¬ ¬©¬I¬ ­I­©­ ­©­I­ ®I®©® ®©®I®. Wynikiem złaczenia ˛ wewn˛etrznego (naturalnego) b˛edzie tabela postaci:. ‘y ‹ `^zŽ ’a“ Ž —p’ `Ž xz“ —p’ `Ž xz“ —p’ xz“ Ž w•~°•4 Ž w•~° •4 —$x  •“ —$x  •“ —$x •“. ŠŒ‹d`Ž xz8wx ”’a^z•4– ˜ ”x’aŽT^z™ •4’a– ^ ”’a^z•4– ˜ ”x’aŽT^z™ •4’a– ^  ¡• ‹‹™™ ’a^  ¡• ’a^. ) •4¥¯•4§ ‹  ¨©¨©¨ ¨©¨©¨ ª©ª©ª ª©ª©ª «©«©« «©«©« ¨©¨©¨ ¨©¨©¨ ª©ª©ª ª©ª©ª «©«©« «©«©« ¬©¬©¬ ¬©¬©¬ ­©­©­ ­©­©­. Wynikiem złaczenia ˛ typu UNION b˛edzie tabela postaci:. ‘y ‹ ^z’a“ Ž ŠŒ‹d`Ž‹xz™ 8wx ) •4¥¯•4§ ‹  ‘Ž y Žš™ ’|^ ®©©® ® ®©®©®  ¢ xzy ™ ’a^  ›œ— ¤ •4£y  ‹d™ ’|’a^ ^. c Antoni Lig˛eza.

(34) Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. 10. Przykłady złacze ˛ n´ Wynikiem operacji lewostronnego złaczenia ˛ zewn˛etrznego b˛edzie tabela postaci:. ‘y ‹ `^zŽ ’a“ Ž —p’ `Ž xz“ —p’ `Ž xz“ —p’ xz“ Ž w•~°•4 Ž w•~° •4 —$x  •“ —$x  •“ —$x • “ ›œ—. ŠŒ‹d`Ž xz8wx ”’a^z•4– ˜ ”x’aŽT^z™ •4’a– ^ ”’a^z•4– ˜ ”x’aŽT^z™ •4’a– ^  ¡• ‹‹™™ ’a^  ¡ ¢ £•  ™ ’|’a^ ^ ¤ •4y ‹d™ ’a^. ) •4¥¯•4§ ‹  ¨©¨©¨ ¨©¨©¨ ª©ª©ª ª©ª©ª «©«©« «©«©« ¨©¨©¨ ¨©¨©¨ ª©ª©ª ª©ª©ª «©«©« «©«©« ¬©¬©¬ ¬©¬©¬ ­©­©­ ­©­©­. Wynikiem operacji prawostronnego złaczenia ˛ zewn˛etrznego b˛edzie tabela postaci:. ‘y ‹ `^zŽ ’a“ Ž —p’ `Ž xz“ —p’ `Ž xz“ —p’ xz“ Ž w•~°•4 Ž w•~° •4 —$x  •“ —$x  •“ —$x •“. c Antoni Lig˛eza. ŠŒ‹d`Ž xz8wx ”’a^z•4– ˜ ”x’aŽT^z™ •4’a– ^ ”’a^z•4– ˜ ”x’aŽT^z™ •4’a– ^  ¡• ‹‹™™ ’a^  ¡• ‹™ ’a^ ‘Ž y Žš™ ’|^  xzy ’a^. ) •4¥¯•4§ ‹  ¨©¨©¨ ¨©¨©¨ ª©ª©ª ª©ª©ª «©«©« «©«©« ¨©¨©¨ ¨©¨©¨ ª©ª©ª ª©ª©ª «©«©« «©«©« ¬©¬©¬ ¬©¬©¬ ­©­©­ ­©­©­ ®©®©® ®©®©®.

(35) Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. 11. Przykłady złacze ˛ n´ Wynikiem operacji złaczenia ˛ zewn˛etrznego pełnego b˛edzie tabela postaci:. ‘y ‹ `^zŽ ’a“ Ž —p’ `Ž xz“ —p’ `Ž xz“ —p’ xz“ Ž w•~°•4 Ž w•~° •4 —$x  •“ —$x  •“ —$x • “ ›œ—. ŠŒ‹d`Ž xz8wx ”’a^z•4– ˜ ”x’aŽT^z™ •4’a– ^ ”’a^z•4– ˜ ”x’aŽT^z™ •4’a– ^  ¡• ‹‹™™ ’a^  ¡ ¢ £•  ™ ’|’a^ ^ ¤ •4y ‹d™ ’a^ ‘Ž y ‹Žš™ ™ ’|^  xzy ’a^. ) •4¥¯•4§ ‹  ¨©¨©¨ ¨©¨©¨ ª©ª©ª ª©ª©ª «©«©« «©«©« ¨©¨©¨ ¨©¨©¨ ª©ª©ª ª©ª©ª «©«©« «©«©« ¬©¬©¬ ¬©¬©¬ ­©­©­ ­©­©­ ®©®©®. ®©®©®. W wyniku poszukiwania wszystkich materiałów i ich dostawców nie posiadajacych ˛ telefonów otrzymamy tabel˛e:. Š ‹d`Ž xz8wx )•4¥¯•4§ ‹  ‘y ‹ ^z’a “ Ž Œ ¢ £  ™ ’|^ ›œ— W wyniku poszukiwania wszystkich dostawców dostarczajacych ˛ okre´slone Ž  materiały, np. w•4~€•4 oraz —$x •“ posiadajacych ˛ telefony dostaniemy tabel˛e. postaci:. c Antoni Lig˛eza. ‘y ‹ ^z’a“ Ž Ž w•~°•4 Ž w•~° •4 —$x  •“ —$x  •“ —$x •“. ŠŒ‹d`Ž xz8wx ”’a^z•4– ˜ ”x’aŽT^z™ •4’a– ^  ¡• ‹‹™™ ’a^  ¡• ’a^. ) •4¥¯•4§ ‹  ¨©¨©¨ ¨©¨©¨ ª©ª©ª ª©ª©ª «©«©« «©«©« ¬©¬©¬ ¬©¬©¬ ­©­©­ ­©­©­.

(36) Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. 12. Łaczenie ˛ statyczne i dynamiczne tablic Definiowanie połacze´ ˛ n pomi˛edzy tablicami mo˙ze odbywa´c si˛e na dwa sposoby: statycznie – poprzez zdefiniowanie wi˛ezów integralno´sci w definicjach odpowiednich tabel wynikajacych ˛ z projektu diagramu ERD (za pomoca˛ DDL; okienko “Relacje” w ACCESS-ie), dynamicznie – poprzez zdefiniowanie na kilku tablicach operacji realizujacej ˛ zapotrzebowanie na dane pochodzace ˛ z tych tablic (za pomoca˛ DQL, DML; w systemie ACCESS w kwerendach – szablon QBE). Statyczne wi˛ezy integralno´sci zdefiniowane na etapie projektowania pozwalaja˛ kontrolowa´c i utrzymywa´c integralno´sc´ danych – dane w polu klucza obcego musza˛ by´c wcze´sniej zdefionoowane w polu klucza tablicy nadrz˛ednej. Dynamiczne łaczenie ˛ tablic wykonuje si˛e w celu uzyskania dost˛epu do informacji zbiorczej znajdujacej ˛ si˛e w dwóch lub wi˛ecej tablicach. Łaczenie ˛ tablic definiuje si˛e za pomoca SQL lub w kwerendach, poprzez wskazanie które rekordy jednej tablicy b˛eda˛ łaczone ˛ z którymi rekordami drugiej tablicy.. TABLE_SET. TABLE_ITEM. # SET_ID. # ITEM_ID. ATT−1 ATT−2 ATT−N. BTT−1 BTT−2 ... SET−ID (FK) ... BTT−M. Rysunek 2: Przykład definiowania łaczenia ˛ statycznego 1–N. c Antoni Lig˛eza.

(37) Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. 13. Rodzaje połacze ˛ n´ pomi˛edzy tablicami Połaczenia ˛ tablic – jeden-do-jeden, jeden-do-wielu, wiele-dowielu 1. 1. 1. N. N. M. Rysunek 3: Połaczenia ˛ typu 1–1, 1–N, N–M. c Antoni Lig˛eza.

(38) Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. 14. Redukcja połacze ˛ n´ N–M do 1–N Zamiana połaczenia ˛ N–M na dwa połaczenia ˛ jeden-do-wielu. N. 1. N. M. N. 1. Rysunek 4: Redukcja połacze´ ˛ n wiele-do-wielu c Antoni Lig˛eza.

(39) Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. 15. Wymuszanie wi˛ezów integralno´sci Wi˛ezy integralno´sci W praktyce definiuje si˛e jedynie dwa typy połacze´ ˛ n mi˛edzy tabelami, sa˛ to: połaczenia ˛ typu jeden-do-jeden, połaczenia ˛ typu jeden-do-wielu. Połaczenia ˛ typy wiele-do-wielu realizowane sa˛ poprzez zdefiniowanie tablicy po´sredniej (zamiana połaczenia ˛ typu N–N na dwa połaczenia ˛ 1–N, N–1). Istnieje mo˙zliwo´sc wymuszenia wi˛ezów integralno´sci (ACCESS) nakładanych na zwiazek ˛ i dane w łaczonych ˛ tabelach – realizowane jest wtedy sprawdzanie warunków zgodno´sci danych. Warunki te sa˛ nast˛epujace: ˛ definiowany zwiazek ˛ musi dotyczy´c dwóch tabel w tej samej bazie danych, pole (pola) łacz ˛ ace ˛ tabeli głównej stanowia˛ klucz lub indeks jednoznaczny, w odpowiadajacych ˛ im polach tabeli dołaczanej ˛ (polach klucza obcego) nie moga˛ pojawia´c si˛e dane, nie wyst˛epujace ˛ w tabeli głównej, odpowiadajace ˛ sobie pola musza˛ by´c tego samego typu (Autonumer == Liczba całkowita długa). Po wymuszeniu wi˛ezów integralno´sci mo˙zliwe jest uaktywnienie nast˛epujacych ˛ opcji: kaskadowa aktualizacja powiazanych ˛ pól, kaskadowe usuwanie powiazanych ˛ rekordów. Opcje te pozwalaja˛ automatycznie zachowywa´c spójno´sc´ danych. c Antoni Lig˛eza.

(40) Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. 16. Operacje agregujace ˛ W przypadku du˙zych tablic bazodanowych cz˛esto stosuje si˛e operacje łacze˛ nia danych z wielu rekordów z wykorzystaniem funkcji agregujacych, ˛ takich jak suma, s´ rednia, czy zliczanie. Pozwala to uzyska´c informacj˛e sumaryczna,˛ ilo´sciowa,˛ na wysookim poziomie abstrakcji. Zasady realizacji oparacji agregujacych: ˛ grupy rekordów o identycznej warto´sci wskazanego atrybutu wg którego nast˛epuje grupowanie zastapowane ˛ sa˛ pojedynczym rekordem, dla tak powstałych rekordów sumarycznych wyliczane sa˛ dane zagregowane, dane indywidualne rekordów wyj´sciowych sa˛ pomijane (nie moga byc uwzgl˛ednione), grupy mo˙zna formowa´c hierarchicznie, wg kilku atrybutów grupujacych. ˛ Funkcje agregujace: ˛ sum(.) – oblicza sum˛e, avg(.) – oblicza s´ rednia,˛ count(.) – zlicza rekordy w grupie, min(.), max(.) – wyznaczaja warto´sc´ minimalna˛ i maksymalna˛ w grupie, variance(.) – wyznacza wariancj˛e, stddev(.) – wyznacza odchylenie standardowe. Argumentem powy˙zszych funkcji mo˙ze by´c atrybut tablicy (kolumna) lub wyra˙zenie. Atrybut(y) wg którego nale˙zy dokona´c grupowania wskazywany jest w opcji GROUP BY. c Antoni Lig˛eza.

(41) Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. 17. Własno´sci operacji algebry relacji. ±. Operacje sumy uogólnionej (algebraicznej dla relacji zgodnych) i złaczenia ˛ naturalnego (ilczynu kartezja´nskiego dla relacji o rozłacznych ˛ zbiorach atrybutów maja˛ nast˛epujace ˛ własno´sci:.  ±²++ ,  ³+ , * 2. Łaczno´ ˛ sc´ : ´±ORµ±¶)s R²±²]·±¶) ,    ) , ¹³  , 3. Przemienno´sc´ : ²±*¸Oµ±¶ ,  1. Idempotentno´sc´ :. 4. Prawa rozdzielno´sci:. Rº±¶. ) R»¼

(42) ½ ¤¤ m

(43)  R )»¼ ¤ \±+R )½ ¤ ¤  , R´±³ ) »¼ ½ v

(44)  R´±¶.R»¼ ½¾ ²±²)R»¼ . 5. Prawa deMorgana:. R´±²]»¼ ½‰]   ] R»¼

(45) ½¾ , R ]R»¼

(46) ½‰s  ²  ± ] R»¼

(47) ½¾ ,  ÀÁ 

(48)  

(49) ‚fcÂ. Znane operacje algebraiczne w relacyjnych bazach danych obejmuja˛ 12 opera, , , , , , , , , cji: , , . Mo˙zna je wyrazi´c za pomoca˛ pi˛eciu operacji elementarnych: – sumy, – ró˙znicy, – projekcji, – iloczynu kartezja´nskiego, – selekcji. Np. dopełnienie . Operacj˛e iloczynu mo˙zna zdefiniowa´c jako . Inna mo˙zliow´sc´ to . Operacj˛e ró˙znicy mo˙zna zdefiniowa´c jako z wykorzystaniem lewostronnego złaczenia ˛ zewn˛etrznego lub za pomoca˛ selekcji gdy do budowy kryterium mo˙zna wykorzysta´c negacj˛e i warunek przynale˙znos´ ci rekordu do zbioru..  ±Œ         O, -   ¿  ÂJ€À  Ã|NÄ R .  . R   

(50)   sOÀr     Àr    Àr     ² ÅaNÆ Rãu·R ]   ¹³ R ]. c Antoni Lig˛eza.

(51) Bazy danych: Operacje algebraiczne w relacyjnych bazach danych. 18. Problemy realizacji zapytan´ i optymalizacji ich wykonania Ogólne zasady optymalizacji zapytan´ Dla optymalizacji zapyta´n nale˙zy stosowa´c odpowiednie zasady konstrukcji: nale˙zy unika´c mno˙zenia krotek (iloczynu kartezja´nskiego, nieprecyzyjnego -złaczenia, ˛ niepotrzebnych operacji złaczenia), ˛. . operacje selekcji i projekcji wykonywa´c na jak najni˙zszym poziomie (jak najwcze´sniej), dla cz˛estych operacji wyszukiwania lub zawierajacych ˛ ukryte wyszukiwanie posługiwa´c si˛e indeksami, operacj˛e selekcji oraz operacj˛e złaczenia ˛ i nast˛epujace ˛ po niej operacje projekcji nale˙zy wykonywa´c łacznie ˛ (jako jedna˛ operacj˛e), unika´c operacji wymagajacych ˛ (wielokrotnego) dost˛epu do dysku.. Wybrane zasady szczegółowe uszeregowa´c kolejne warunki (kryteria) selekcji od najsilniejszych do najsłabszych (pierwsze operacje eliminuja˛ maksimum rekordów), dokonywa´c mo˙zliwie wcze´snie projekcji na mo˙zliwie mały zestaw atrybutów (z opcja˛ DISTINCT), operacje selekcji przesuwa´c ”do wewnatrz” ˛ innych operacji (np. iloczynu kartezja´nskiego, sumy, ró˙znicy), operacje projekcji na wybrane atrybuty przesuw´c ”do wewnatrz” ˛ innych operacji (np. iloczynu kartezja´nskiego, sumy). c Antoni Lig˛eza.

(52)

Cytaty

Powiązane dokumenty

Issues such as the typical power distance (see Hofstede 1991) in a culture as well as an audience's propensity towards uncertainty avoidance may mean that a particular

Niezależność aplikacji i danych - dane mogą być wprowadzane do bazy bez konieczności modyfikacji korzystających z nich programów czy systemów użytkowych, a z drugiej

T [0, 1] jest stopnień prawdziwości i wyznacza prawdziwość podsumowania (jak bardzo jest bliskie prawdzie). Wartości T są wyznaczane na podstawie rachunku Zadeha dotyczą-

Application submission signifies the applicant's agreement to process the personal data contained in the application for the purposes necessary for the recruitment

Application submission signifies the applicant's agreement to process the personal data contained in the application for the purposes necessary for the recruitment process

Very good command of English and the other foreign language (candidates with German preferred), excellent interpersonal skills, good time management and organizational

Podstawowe założenia przyjęte przy budowie systemu to: możliwość wspomagania całego procesu legalizacji ponownej analizatorów, dostosowanie systemu do warunków pracy

Sporządź diagram związków encji (ERD) w III – ciej postaci normalnej, dla relacyjnej bazy danych obsługującej całoroczny Puchar Świata w żeglarskiej klasie FINN