1 / 33

Relacyjny model danych

Relacyjny model danych. Wyk ł ad 2 S. Kozielski. Relacja. X, Y – zbiory, Iloczyn kartezjański X  Y = {(x,y): x  X  y  Y} Dwuczłonowa relacja w X  Y = {(x,y): x  X  y  Y  x  y}  X  Y N – członowa relacja:

maire
Download Presentation

Relacyjny model danych

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Relacyjny model danych Wykład 2 S. Kozielski

  2. Relacja X, Y – zbiory, Iloczyn kartezjański X Y = {(x,y): xX  yY} Dwuczłonowa relacja w X Y = {(x,y): xX  yY  x  y}  X Y N – członowa relacja: podzbiór iloczynu kartezjańskiego X1  X2  X3  ...  XN

  3. Model relacyjny – opis formalny Atrybuty: A1, A2, A3, np.: nazwisko, nrp, kwota, adres Dziedziny atrybutów: DA1, DA2, DA3, ... Schemat relacji: R = { A1, A2, ..., Ap} – podzbiór zbioru atrybutów Relacja r(R): podzbiór iloczynu kartezjańskiego dziedzin atrybutów tworzących schemat DA1 DA2 ...  DAp r(R)  DA1 DA2 ...  DAp

  4. Przykład: R = {nrp, nrt, kwota} Dnrp= {1, 2, 3}, Dnrt= {1, 2, 3}, Dkwota= {150, 200, 300} Dnrp Dnrt Dkwota= {1, 1, 150 2, 1, 150 3, 1, 150 … 3, 3, 150 3, 3, 200 3, 3, 300}

  5. Wypłaty Wypłaty Dnrp Dnrt Dkwota

  6. Relacja jako zbiór krotek r(R) = {t1, t2, t3, …, tk} (A, B, C) ———— a1b1 c1- krotka t1 a2b2 c2- krotka t2 a3b3 c3- krotka t3

  7. Różne formy opisu stosowane w modelu relacyjnym

  8. Algebra relacji Dane relacje: r(R), s(S) Selekcja w – warunek selekcji (wyrażenie logiczne) w(r) = {t : t  r  w(t) = True } = p(R)

  9. A B C A B C 2 C=2 2 1  2 2 Przykład selekcji

  10. ProjekcjaNiech X  RX= { u : t  r  u = t [X] } = q (X)

  11. A B C A C AC  Przykład projekcji

  12. Złączenie (naturalne) r  s = { u : t  r w  s  t [R  S] = w [R  S]  u[R] = t  u[S] = w} = z (R  S)

  13. Przykład złączenianaturalnego r (A, B, C) s (C, D) z (A, B, C, D) ———————=————— a1b1 c1 c1 d1a1 b1 c1 d1 a2b2 c2 c5 d5a4 b4 c1 d1 a3b3 c3 a4b4 c1

  14. Ogólna postać złączenia ( - złączenie) r w s =  w(r  s) lub r  ABs = AB (r  s) , gdzie A  R, B  S

  15. Dzielenie Niech będą dane relacje: r(XY), s(Y) r  s = { u : w  s t  r t [Y] = w  t [X] = u }

  16. Przykład dzielenia w (nrp, nrt) t (nrt) wt =z (nrp) —————————— 1 11 1 1 22 3 1 3 3 2 2 2 3 3 1 3 2 3 3

  17. Operatory mnogościowe Niech będą dane relacje: r(R), s(R) Suma: r  s Różnica: r \ s Iloczyn: r  s

  18. Pytanie Z1 jako wyrażenie algebry relacji Z1 = nazwa (nazwisko = ‘Jaworek’ (Pracownicy  Wypłaty  Tematy))

  19. Pracownicy Wypłaty nrp nrt kwota nrp nazwisko adres nrz 2 2 300 1 Lipowski Ruda 2 3 3 150 2 Grabski Zabrze 1 1 1 150 3 Jaworek Gliwice 1 3 2 200 1 3 200 Złączenie tabel

  20. Pracownicy  Wypłaty

  21. Pracownicy  WypłatyTematy

  22. nazwisko = ‘Jaworek’ (Pracownicy  Wypłaty  Tematy)

  23. nazwa (nazwisko = ‘Jaworek’ (Pracownicy  Wypłaty  Tematy))

  24. Własności operatorów algebry relacji r(R), s(S), z(Z) – dane relacje 1) Przemienność złączeń: r  s = s  r 2) Łączność złączeń: (r  s)  z = r  (s  z)

  25. 3) Przemienność selekcji i złączeń dla wyrażenia w(r  s) Niech atr(w) – zbiór atrybutów występujących w w Jeśli atr(w)  R, to w(r  s) = (w(r ))  s Jeśli atr(w)  S, to w(r  s) = r  (w(s )) Jeśli w= w1  w2 oraz atr(w1)  R i atr(w2)  S, to w(r  s) = (w1(r ))  (w2(s))

  26. Przykłady równoważnej postaci wyrażeń P1=nazwisko (nrz=3kwota>2000 (Pracownicy  Wypłaty)) P1= nazwisko ((nrz=3 (Pracownicy))  (kwota>2000 (Wypłaty))) P2= nazwisko (nazwa = ‘Pr.gen.’ (Pracownicy  Wypłaty  Tematy)) P2= nazwisko (Pracownicy  Wypłaty (nazwa = ‘Pr.gen.’ (Tematy)))

  27. Drzewo rozbioru wyrażenia algebry relacji – plan realizacji zapytania

  28. Optymalizacja wyrażeń algebry relacji

  29. P2= nazwisko (nazwa = ‘Pr.gen.’ (Pracownicy  Wypłaty  Tematy)) P2= nazwisko (Pracownicy  Wypłaty (nazwa = ‘Pr.gen.’ (Tematy)))

  30. Proste reguły optymalizacji wyrażeń algebry relacji • Przenieść selekcje (i projekcje) jak najwyżej w drzewie rozbioru wyrażenia • Wykonać projekcje razem ze złączeniami lub selekcjami • Dobrać kolejność złączeń według selekcji najsilniej redukujących

More Related