Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Projektowanie struktury logicznej (schematu) relacyjnych baz danych Wykład S. Kozielski.

Podobne prezentacje


Prezentacja na temat: "Projektowanie struktury logicznej (schematu) relacyjnych baz danych Wykład S. Kozielski."— Zapis prezentacji:

1 Projektowanie struktury logicznej (schematu) relacyjnych baz danych Wykład S. Kozielski

2 Projektowanie struktury (logicznej) baz danych Modelowanie związków encji – elementy diagramów encja niezależny byt, jednoznacznie identyfikowalny związek łączy encje atrybut opisuje encje i związki

3 Przykłady diagramów związków encji (1) zalicza studiuje przedmiot kierunek student N M 1 N

4 Przykłady diagramów związków encji (2) wykonuje należy temat zespół pracownik N M 1 N

5 Przykłady diagramów związków encji (3) zażywa leży lekarstwo oddział chory N M 1 N

6 związek wystąpienie – Grabski studiuje informatykę typ - studiuje encja wystąpienie - Grabski typ - student atrybut-odwzorowanie typ związku zbiór wartości typ encji zbiór wartości

7 student integer album char(20)char(50) nazwisko adres student albumnazwiskoadres

8 student album 1 nazwiskoadres jęz_ob przedmiot id_p prowadzącynazwa studiujezalicza podlega kierunek wydział sem ocena id_k id_w dziekan nazwa M 1 N NN

9 Algorytm tworzenia schematów relacji na podstawie diagramu związków encji 1) Utwórz schemat relacji dla każdego typu encji. Do schematu tego wchodzą wszystkie atrybuty proste (pojedyncze) opisujące encję. Kluczem schematu jest klucz encji. 2) Utwórz dodatkowy schemat relacji dla każdego atrybutu wielowartościowego. Do schematu tego wchodzi klucz encji i dany atrybut wielowartościowy. Kluczem schematu jest cały schemat. 3) Utwórz schemat relacji dla każdego typu związku. Do schematu tego wchodzą klucze encji powiązanych związkiem oraz atrybuty własne związku. Klucz schematu jest wyznaczany następująco: dla krotności 1:N – klucz encji wchodzącej do związku przez krawędź N, dla krotności M:N – złożenie kluczy obu encji, dla krotności 1:1 – dowolny z kluczy obu encji, 4) Scal schematy o identycznych kluczach (optymalizacja struktury).

10 Schematy relacji utworzone dla diagramu opisującego studentów student (album, nazwisko, adres) kierunek (id_k, nazwa) wydział (id_w, nazwa, dziekan) przedmiot (id_p, nazwa, prowadzący) języki (album, język_obcy) studiuje (album, id_k, sem) podlega (id_k, id_w) zalicza (album, id_p, ocena)

11 Schematy relacji po optymalizacji studenci (album, nazwisko, adres, id_k, sem) kierunki (id_k, nazwa, id_w) wydziały (id_w, nazwa, dziekan) przedmioty (id_p, nazwa, prowadzący) języki (album, język_obcy) zaliczenia (album, id_p, ocena)

12 Inna forma zapisu diagramów (narzędzia CASE) studiuje student album nazwisko adres kierunek id_k nazwa

13 Problem atrybutów wielowartościowych student (album, nazwisko, adres) język_obcy (nazwa) zna (album, nazwa, stopień) Relacja (tablica) język_obcy – pełni rolę słownika N student albumnazwiskoadres nazwa język_obcy stopień zna M

14 Problem związków 1 : 1 student (album, nazwisko, adres) czytelnik (nr_karty, staż) jest (album, nr_karty) - problem wyboru klucza 1 student albumnazwiskoadres czytelnik jest staż 1 nr_karty

15 student (album, nazwisko, adres) czytelnik (nr_karty, staż) jest (album, nr_karty) - problem wyboru klucza Możliwe rozwiązania: 1) Klucz: nr_karty Wtedy schemat: studenci (album, nazwisko, adres), czytelnik (nr_karty, staż, album) 2) Klucz : album Wtedy schemat: studenci (album, nazwisko, adres, nr_karty), czytelnik (nr_karty, staż) 3) album i nr_karty – klucze równoważne Wtedy schemat: studenci (album, nazwisko, adres, nr_karty, staż)

16 Związek identyfikujący

17 Encja słaba: - nie jest w pełni identyfikowalna przez swoje atrybuty - posiada tylko klucz częściowy - jest identyfikowana przez klucz częściowy + klucz encji właścicielskiej Związek identyfikujący - wiąże encję słabą z encją właścicielską Uzupełnienie algorytmu tworzenia schematów relacji na podstawie diagramu związków encji: w przypadku encji słabej dołącz do klucza schematu tworzonej relacji klucz encji właścicielskiej dziecko (nrp, imię, data_ur) ma (nrp, imię)

18 Dwa związki między dwiema encjami pracownik (nrp, nazwisko) dyplomant (album, nazwisko, adres) prowadzi (nrp, album) recenzuje (nrp, album) po modyfikacji nazw i scaleniu: pracownicy (nrp, nazwisko) dyplomanci (album, nazwisko, adres, nrp_prowadz, nrp_rec) nrp dyplomant album nazwisko adres N recenzuje 1 pracownik N prowadzi 1 nazwisko

19 Powiązanie encji samej z sobą pracownik (nrp, nazwisko) kieruje_podlega (nrp, nrp) zwierzchnik podwładny po modyfikacji nazw i scaleniu: pracownicy (nrp, nazwisko, nrp_zwierzchnika) zwierzchnik nrp N pracownik kieruje- podlega 1 nazwisko podwładny

20 Projektowanie struktury b. d. poprzez normalizację schematu bazy danych Punkt wyjścia: zbiór atrybutów A 1, A 2, A 3,..., A n, których wartości chcemy przechowywać w bazie. Początkowy cała b.d. jest widziana jako jedna relacja o schemacie R = {A 1, A 2, A 3,..., A n }. Następnie schemat R dzielony jest na zbiór schematów relacji w procesie normalizacji. R { R 1, R 2, R 3,..., R k } Schematy tworzone w procesie normalizacji powinny spełniać warunki kolejnych postaci normalnych.

21 pracownikadresdziecko GrabskiZabrze, ul. Wolności 123Adam JaworekGliwice, ul. Zwycięstwa 33Kasia, Ania, Krzyś

22 Definicja 1PN Schemat relacji (relacja) jest w 1 PN (postaci normalnej), jeśli dziedziny atrybutów tworzących schemat zawierają jedynie wartości atomowe, tzn. nie są zbiorami, ciągami czy listami wartości.

23 Relacja w 1PN pracownikadresdziecko GrabskiZabrze, ul. Wolności 123Adam JaworekGliwice, ul. Zwycięstwa 33Kasia JaworekGliwice, ul. Zwycięstwa 33 Ania JaworekGliwice, ul. Zwycięstwa 33Krzyś

24 Problemy związane z redundancją aktualizacja danych redundancyjnych – niebezpieczeństwo utraty spójności bazy, anomalia usuwania (klucz główny oraz jego składowe nie mogą być puste). anomalia wstawiania

25 Relacja w 1PN pracownikadresdziecko GrabskiZabrze, ul. Wolności 123Adam JaworekGliwice, ul. Zwycięstwa 33Kasia JaworekGliwice, ul. Zwycięstwa 33 Ania JaworekGliwice, ul. Zwycięstwa 33Krzyś

26 Zależność funkcyjna X, Y – atrybuty, dom(X), dom(Y) – dziedziny atrybutów Atrybut Y jest funkcyjnie zależny od X, jeśli istnieje odwzorowanie f: dom(X) dom (Y) które każdej wartości z dziedziny X przyporządkowuje nie więcej niż jedną wartość z dziedziny Y. Zapis uproszczony: X Y

27 Przykłady zależności funkcyjnych pracownik adres pracownik, dziecko adres

28 Rola klucza w tworzeniu zależności funkcyjnych K – klucz, A – atrybut niekluczowy Z definicji klucza wynika, że zawsze zachodzi: K A

29 Częściowa zależność funkcyjna Założenie: zachodzi zależność funkcyjna: X A Jeśli dodatkowo spełniona jest zależność X A, gdzie X X, to wtedy zależność X A nazywamy zależnością częściową.

30 Przykład Zachodzi zależność: pracownik, dziecko adres ponadto zachodzi też zależność : pracownik adres więc zależność : pracownik, dziecko adres jest zależnością częściową

31 Definicja 2PN Schemat relacji (relacja) jest w 2PN, jeżeli jest w 1 PN i żaden atrybut niekluczowy nie jest częściowo zależny od klucza (od żadnego z kandydujących kluczy relacji).

32 Przykład dekompozycji do 2PN {pracownik, adres, dziecko} {pracownik, adres}{pracownik, dziecko} 1PN 2PN

33 Przyk ł ad innej relacji pracownikinstytutwydziałtematkwota Grabski Jaworek Bukowy Inf El AEiI BK 303 BW

34 Istniejące zależności funkcyjne: pracownik instytut instytut wydział pracownik wydział pracownik, temat kwota a ponadto pracownik, temat instytut pracownik, temat wydział

35 Przykład dekompozycji do 2PN { pracownik, instytut, wydział, temat, kwota } { pracownik, instytut, wydział }{ pracownik, temat, kwota } 1PN 2PN

36 Istniejące zależności funkcyjne: pracownik instytut instytut wydział pracownik wydział pracownikinstytutwydział Grabski Jaworek Bukowy Inf El AEiI pracownik instytutwydział

37 Definicja zależności tranzytywnej K XA Tranzytywna zależność atrybutu A od klucza K poprzez X

38 Definicja 3PN Schemat relacji (relacja) jest w 3 PN, jeżeli jest w 1 PN i żaden z atrybutów niekluczowych nie jest tranzytywnie zależny od klucza (od żadnego z kandydujących kluczy relacji).

39 Przykład dekompozycji do 3PN { pracownik, instytut, wydział } { pracownik, instytut}{ instytut, wydział } 2PN 3PN

40 Projektowanie schematu bazy danych metodą dekompozycji Dane wejściowe: Zbiór wszystkich atrybutów, traktowany jako schemat jednej relacji Zbiór zależności między atrybutami Cel: Uzyskanie zbioru schematów relacji w trzeciej lub czwartej postaci normalnej spełniających warunek odwracalności dekompozycji

41 Warunek odwracalności dekompozycji Dekompozycja schematu R na zbiór schematów { R1, R2, R3,..., Rk } jest odwracalna, jeśli dla każdej relacji r(R) zachodzi: R1 (r) R2 (r) … Rk (r) = r

42 Twierdzenie o dekompozycji odwracalnej Dane: relacja r o schemacie R, tzn. r(R), K - klucz relacji, X, Y - atrybuty tej relacji. Jeśli w relacji r(R) istnieje tranzytywna zależność atrybutu Y od klucza K poprzez atrybut X, to dekompozycja schematu R na dwa schematy {XY, R-Y} jest dekompozycją odwracalną.

43 Przykład dekompozycji odwracalnej { pracownik, instytut, wydział } { pracownik, instytut}{ instytut, wydział } 2PN 3PN

44 Przykład dekompozycji nieodwracalnej { pracownik, instytut, wydział } { pracownik, wydział }{ instytut, wydział } 2PN 3PN

45 Zależność wielowartościowa (definicja uproszczona) W relacji r(R) jest spełniona wielowartościowa zależność X Y jeśli z daną wartością atrybutu X jest związany dobrze określony zbiór wartości atrybutu Y Przykład: pracownik dziecko student język_obcy

46 Definicja 4PN Schemat relacji r(R) jest w 4PN, jeżeli jest w 1PN i każda zależność wielowartościowa X Y, spełniona w r, jest zależnością trywialną, tzn. X Y = R, lub X jest kluczem relacji r.

47 Twierdzenie Jeśli w relacji r(R) istnieje wielowartościowa zależność X Y, to dekompozycja schematu R na dwa schematy {XY, R-Y} jest dekompozycją odwracalną.

48 Przykład Rozważmy relację o schemacie R = {pracownik, adres, dziecko}. W relacji tej spełniona jest zależność wielowartościowa pracownik dziecko wobec czego dekompozycja schematu R na dwa schematy {pracownik, dziecko} i {pracownik, adres} jest dekompozycją odwracalną

49 Inny przykład R = {student, dyscyplina_sportowa, język_obcy} W relacji tej spełnione są zależności wielowartościowe: student dyscyplina_sportowa student język_obcy Wykorzystanie jednej z nich prowadzi do odwracalnej dekompozycji: {student, dyscyplina_sportowa} {student, język_obcy}

50

51


Pobierz ppt "Projektowanie struktury logicznej (schematu) relacyjnych baz danych Wykład S. Kozielski."

Podobne prezentacje


Reklamy Google