1 / 51

Projektowanie struktury logicznej (schematu) relacyjnych baz danych

Projektowanie struktury logicznej (schematu) relacyjnych baz danych. Wykład S. Kozielski. niezależny byt, jednoznacznie identyfikowalny. encja. atrybut. opisuje encje i  związki. związek. łączy encje. Projektowanie struktury (logicznej) baz danych.

kort
Download Presentation

Projektowanie struktury logicznej (schematu) relacyjnych baz 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. Projektowanie struktury logicznej (schematu) relacyjnych baz danych Wykład S. Kozielski

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

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

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

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

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

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

  8. prowadzący id_p student przedmiot N M N studiuje zalicza podlega id_k id_w sem dziekan nazwa nazwa album ocena adres nazwa jęz_ob nazwisko 1 kierunek N 1 wydział

  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. student kierunek album nazwisko adres id_k nazwa studiuje Inna forma zapisu diagramów (narzędzia CASE)

  13. zna album adres nazwisko nazwa M N język_obcy student stopień 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

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

  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żneWtedy 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. nrp album nazwisko nazwisko 1 N adres prowadzi dyplomant pracownik 1 N recenzuje 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)

  19. nrp nazwisko zwierzchnik 1 pracownik kieruje-podlega N podwładny 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)

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

  21. 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.

  22. Relacja w 1PN

  23. 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

  24. Relacja w 1PN

  25. 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

  26. Przykłady zależności funkcyjnych pracownik  adres pracownik, dziecko  adres

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

  28. 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ą.

  29. 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ą

  30. 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).

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

  32. Przykład innej relacji

  33. Istniejące zależności funkcyjne: pracownik  instytut instytut  wydział pracownik  wydziałpracownik, temat  kwotaa ponadto pracownik, temat  instytut pracownik, temat  wydział

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

  35. pracownik instytut wydział Istniejące zależności funkcyjne:pracownik  instytut instytut  wydział pracownik  wydział

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

  37. 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).

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

  39. 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

  40. 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

  41. 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ą.

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

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

  44. 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

  45. 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.

  46. 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ą.

  47. 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ą

  48. 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}

More Related