Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Relacyjny model danych Wykład 2 S. Kozielski. Model danych struktury danych operacje na danych ograniczenia integralnościowe.

Podobne prezentacje


Prezentacja na temat: "Relacyjny model danych Wykład 2 S. Kozielski. Model danych struktury danych operacje na danych ograniczenia integralnościowe."— Zapis prezentacji:

1 Relacyjny model danych Wykład 2 S. Kozielski

2 Model danych struktury danych operacje na danych ograniczenia integralnościowe

3 Relacyjny model danych relacje operacje (operatory) algebry relacji więzy referencyjne + ograniczenia dziedzin relacji

4 Relacja (matematyka) 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 (relacja stopnia N): podzbiór iloczynu kartezjańskiego X 1 X 2 X 3... X N

5 Relacja – bazy danych Atrybuty: A 1, A 2, A 3, … np.: nazwisko, nrp, kwota, adres Dziedziny atrybutów: D A1, D A2, D A3,... (inaczej domeny: dom(A 1 ), dom(A 2 )) – zbiory dopuszczalnych wartości atrybutów (typy danych) Schemat relacji: R = { A 1, A 2,..., A p } – podzbiór zbioru atrybutów Relacja r o schemacie R: r(R) - podzbiór iloczynu kartezjańskiego dziedzin atrybutów tworzących schemat D A1 D A2... D Ap r(R) D A1 D A2... D Ap

6 Przykład: R = {nrp, nrt, kwota} D nrp = {1, 2, 3}, D nrt = {1, 2, 3}, D kwota = {150, 200, 300} D nrp D nrt D kwota = {1, 1, 150 2, 1, 150 3, 1, 150 … 3, 3, 150 3, 3, 200 3, 3, 300}

7 Wypłaty nrpnrtkwota Wypłaty D nrp D nrt D kwota

8 Relacja jako zbiór krotek r(R) = {t 1, t 2, t 3, …, t k } Krotka t jest uporządkowaną listą wartości t = gdzie v i D Ai lub jest specjalną wartością pustą NULL (A, B, C) a 1 b 1 c 1 - krotka t 1 a 2 b 2 c 2 - krotka t 2 a 3 b 3 c 3 - krotka t 3 a 4 b 4 c 4 - krotka t 4 n-ty element krotki t oznaczany jest przez t[A n ] np. t 4 [B] = b 4

9 Elementarne własności relacji Każdy atrybut relacji ma unikalną nazwę Porządek atrybutów w relacji nie jest istotny Porządek krotek w relacji nie jest istotny Relacja nie zawiera krotek powtarzających się (wszystkie krotki są unikalne)

10 Unikalność krotek relacji a pojęcie klucza Każdy podzbiór S atrybutów schematu relacji R (S R), taki że dla każdych dwóch krotek ze zbioru r(R) zachodzi t i [S] t j [S] jest nazywany superkluczem (super key) relacji Superkluczem jest m.in. cały schemat relacji R Superklucz może posiadać nadmiarowe atrybuty

11 Pojęcie klucza relacji Kluczem K schematu relacji R nazywamy superklucz schematu R o takiej własności, że usunięcie dowolnego atrybutu A z K powoduje, że K = K - A nie jest już superkluczem Klucz jest minimalnym superkluczem (zachowującym własność unikalności krotek relacji) Schemat relacji może posiadać więcej niż jeden klucz Wyróżniony klucz: klucz główny (podstawowy) Pozostałe klucze: klucze kandydujące (wtórne)

12 Inna definicja klucza Kluczem jest minimalny zestaw atrybutów schematu relacji, którego wartości jednoznacznie identyfikują każdą krotkę relacji

13 Przykład Pracownicy (nrp, imię, nazwisko, PESEL, NIP, seria_i_nr_dowodu, data_urodzenia, imię_ojca, imię_matki, adres, nazwisko_rodowe, tytuł, zawód, nazwa_zakładu_pracy, adres_zp, staż) Klucze kandydujące: nrp PESEL NIP seria_i_nr_dowodu imię, nazwisko, imię_ojca

14 Różne formy opisu stosowane w modelu relacyjnym Opis formalnyOpis tablicowyOpis fizyczny (fizycznych struktur d.) relacjatablica (tabela)plik krotkawierszrekord atrybutkolumnapole schemat relacjinagłówek tablicytyp rekordu

15

16 Algebra relacji Dane relacje: r(R), s(S) Podstawowe operacje: selekcja, projekcja, złączenie, iloczyn kartezjański, dzielenie, operacje na zbiorach Selekcja w – warunek selekcji (wyrażenie logiczne - predykat) w (r) = {t : t r w(t) = True } = p(R)

17 Przykład selekcji A B C C=2 A B C 2 2

18 Projekcja Niech X R X (r) = { u : t r u = t [X] } = q (X)

19 Przykład projekcji A B C A C AC

20 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)

21 Przykład złączenia naturalnego r (A, B, C) s (C, D) z (A, B, C, D) = a 1 b 1 c 1 c 1 d 1 a 1 b 1 c 1 d 1 a 2 b 2 c 2 c 5 d 5 a 4 b 4 c 1 d 1 a 3 b 3 c 3 a 4 b 4 c 1

22 Ogólna postać złączenia ( - złączenie) r w s = w (r s) lub r A B s = A B (r s), gdzie A R, B S, dom(A) = dom(B)

23 Dzielenie Niech będą dane relacje: r(XY), s(Y) r s = { u : w s t r t [Y] = w t [X] = u }

24 Przykład dzielenia r (nrp, nrt) s (nrt) r s = z (nrp)

25 Operatory mnogościowe (operacje na zbiorach krotek) Niech będą dane relacje: r(R), s(R) Suma: r s Różnica: r \ s Iloczyn: r s Powyższe operacje mogą być rozszerzone na przypadek relacji r(R), s(S), w których R i S są równoliczne, a odpowiadające sobie atrybuty schematów R i S mają identyczne dziedziny

26 Pytanie Z1 jako wyrażenie algebry relacji Z1 = nazwa ( nazwisko = Jaworek (Pracownicy Wypłaty Tematy))

27 Złączenie tabel Wypłaty nrpnrtkwota Pracownicy nrpnazwiskoadresnrz 1LipowskiRuda2 2GrabskiZabrze1 3JaworekGliwice1

28 Pracownicy Wypłaty nrpnazwiskoadresnrznrtkwota 2GrabskiZabrze JaworekGliwice LipowskiRuda JaworekGliwice LipowskiRuda23200

29 Pracownicy Wypłaty Tematy nrpnazwiskoadresnrznrtkwotanazwakier. 2GrabskiZabrze12300Pr. przetwor.1 3JaworekGliwice13150Pr. reaktora2 1LipowskiRuda21150Pr. zasilacza2 3JaworekGliwice12200Pr. przetwor.1 1LipowskiRuda23200Pr. reaktora2

30 nazwisko = Jaworek ( Pracownicy Wypłaty Tematy ) nrpnazwiskoadresnrznrtkwotanazwakier. 3JaworekGliwice13150Pr. reaktora2 3JaworekGliwice12200Pr. przetwor.1

31 nazwa ( nazwisko = Jaworek ( Pracownicy Wypłaty Tematy )) nazwa Pr. reaktora Pr. przetwor.

32 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)

33 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))

34 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 )))

35 Drzewo rozbioru wyrażenia algebry relacji – plan realizacji zapytania

36 Optymalizacja wyrażeń algebry relacji (wykorzystanie przemienności selekcji i złączeń)

37 P2= nazwisko ( nazwa = Pr.gen. (Pracownicy Wypłaty Tematy)) P2= nazwisko (Pracownicy Wypłaty ( nazwa = Pr.gen. (Tematy)))

38 Optymalizacja wyrażeń algebry relacji (dobór kolejności złączeń - 1)

39 Optymalizacja wyrażeń algebry relacji (dobór kolejności złączeń - 2)

40 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


Pobierz ppt "Relacyjny model danych Wykład 2 S. Kozielski. Model danych struktury danych operacje na danych ograniczenia integralnościowe."

Podobne prezentacje


Reklamy Google