1 / 49

Bazy danych – model relacyjny – cz. 2

Bazy danych – model relacyjny – cz. 2. Andrzej Macioł. Pierwsza postać normalna. Jedynymi relacjami dozwolonymi w modelu relacyjnym są relacje spełniające następujący warunek:

sonora
Télécharger la présentation

Bazy danych – model relacyjny – cz. 2

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. Bazy danych – model relacyjny – cz. 2 Andrzej Macioł

  2. Pierwsza postać normalna • Jedynymi relacjami dozwolonymi w modelu relacyjnym są relacje spełniające następujący warunek: • każda wartość w relacji, tj. każda wartość atrybutu w każdej krotce, jest wartością atomową (wartością nie rozkładalną) • (lPN) oznacza, że tabela nie zawiera powtarzających się grup informacji, co znaczy, że każda kolumna jest wartością skalarną (atomową), a nie macierzą lub listą czy też czymkolwiek, co posiada własną strukturę

  3. Relacja nie znormalizowana

  4. Relacja nie znormalizowana

  5. Relacja nie znormalizowana • Relację "przed normalizacją" zdefiniowano na dwóch dziedzinach: Pracownik i Znajomość Języków • Elementami dziedziny Znajomość Języków są również relacje (zdefiniowane na dziedzinach Język i Poziom) • Relacja jest z punktu widzenia definicji relacją dwuczłonową, ale nie wszystkie jej dziedziny są proste (dziedzina prosta to taka, której wszystkie elementy są atomowe)

  6. Relacja znormalizowana

  7. Relacja znormalizowana • Relacja jest relacją trójczłonową, której wszystkie dziedziny są proste, jest więc znormalizowana • Powodem tego jest uproszczenie struktury danych, które z kolei powoduje uproszczenie operatorów w subjęzyku danych • Uproszczenia te nie ograniczają w niczym możliwości reprezentowania obiektów

  8. Relacja znormalizowana - nieporozumienia

  9. Relacja znormalizowana - nieporozumienia

  10. Pierwsza postać normalna

  11. Pierwsza postać normalna • Powtarzająca się grupa danych to podzbiór relacji zawierający co najmniej dwa atrybuty, posiadająca własny klucz prosty, w którym istnieją powtarzające się krotki • Powtarzanie się takich samych krotek wymuszone jest faktem, że mamy do czynienia z grupą dla której część atrybutów jest strukturą a nie wartością skalarną

  12. Pierwsza postać normalna

  13. Anomalie przy usuwaniu, wstawianiu i aktualizacji

  14. Anomalie przy usuwaniu, wstawianiu i aktualizacji • Reorganizacja polegająca na likwidacji Działu Kadr spowoduje utratę informacji o wszystkich pracownikach działu • Wprowadzając informację o nowym zadaniu dla referenta Działu Kadr musimy ją wprowadzić dla każdego pracownika na tym stanowisku (anomalia przy wstawianiu) • Zmieniając nazwę działu na Dział Personalny musimy zaktualizować wszystkie rekordy (anomalia przy aktualizacji)

  15. Druga postać normalna • Relacja jest w drugiej postaci normalnej, jeśli każdy atrybut tej relacji nie wchodzący w skład żadnego klucza potencjalnego jest w pełni funkcyjnie zależny wyłącznie od wszystkich podrelacji klucza głównego

  16. Ta relacja nie jest w drugiej postaci normalnej

  17. Ta relacja nie jest w drugiej postaci normalnej bo: • kluczem w relacji jest podzbiór atrybutów PESEL i Zadania bo powtórzenie krotki o dwóch identycznych wartościach tych atrybutów wskazywałoby na powtórne przydzielenie tego samego zadania tej samej osobie • atrybut Pracownik zależy funkcjonalnie od atrybutu PESEL a nie zależy od atrybutu Zadania (mogą się powtórzyć te same zadania przydzielone różnym pracownikom)

  18. Trzecia postać normalna • Relacja jest w trzeciej postaci normalnej, jeśli: • jest w drugiej postaci normalnej • żaden atrybut nie będący kluczem nie jest funkcjonalnie związany z żadnym innym atrybutem nie będącym również kluczem

  19. Ta relacja nie jest w trzeciej postaci normalnej

  20. Zależność funkcjonalna przechodnia • Niech X, Y i Z będą trzema rozłącznymi podzbiorami atrybutów danej relacji • Z jest przechodnio funkcjonalnie zależny od X, jeśli Z jest funkcjonalnie zależny od Y i Y jest funkcjonalnie zależny od X natomiast X nie jest zależny od Y i Y nie jest zależny od Z

  21. Forma normalna Boyce-Codd’a • Jest uzupełnieniem trzeciej postaci normalnej i jest niezbędna w przypadku gdy atrybuty będące kandydatami na klucze są: • wielokrotne, • złożone, • nakładające się na siebie

  22. Forma normalna Boyce’a-Codd’a • Relacja jest w postaci Boyce-Codd’a jeżeli dla każdej nietrywialnej zależności między podzbiorami relacji zbiór będący wyznacznikiem jest zbiorem identyfikującym tej relacji • Zależność X →Y jest trywialna jeżeli Y jest podzbiorem X • Definicja BCNF zastępuje definicje, pierwszej, drugiej i trzeciej formy normalnej dodatkowo je poszerzając

  23. Forma normalna Boyce-Codd’a kluczem w relacji jest podzbiór IdPracownika, Zawód zależność Zawód, Wykształcenie  Stawka jest funkcjonalna i nietrywialna a Zawód, Wykształcenienie jest zbiorem identyfikującym

  24. Forma normalna Boyce-Codd’a ponieważ opiekun może mieć tylko jedno seminarium to kluczem w relacji jest podzbiór IdStudenta, Seminarium lub IdStudenta, Opiekun zależność Opiekun  Seminarium jest funkcjonalna i nietrywialna a Opiekunnie jest zbiorem identyfikującym

  25. Czwarta forma normalna • Relacja jest w czwartej formie normalnej wtedy i tylko wtedy, gdy jest w trzeciej postaci normalnej i nie zawiera wielowartościowej zależności atrybutów

  26. Zależność wielowartościowa • Podzbiór atrybutów Y jest wielowartościowo funkcjonalnie zależny od podzbioru X w schemacie R, jeżeli dla dowolnej relacji r w schemacie R i dla dowolnej pary krotek t1 i t2 z relacji r istnieje taka para krotek że: s1[X]=s2[X]=t1[X]=t2[X] i s1[Y]= t1[Y] i s1[R-X-Y]=t2[R-X-Y] i s2 [Y]= t2[Y] i s2 [R-X-Y]=t1[R-X-Y]

  27. Zależność wielowartościowa X Y R-X-Y

  28. Zależność wielowartościowa t1[X]=t2[X]=s1[X]=s2[X]=(Kot) s1[Y]= t1[Y]=(Ania) i s1[R-X-Y]=t2[R-X-Y]=(angielski) i s2 [Y]= t2[Y]=(Jaś) i s2 [R-X-Y]=t1[R-X-Y]=(niemiecki)

  29. Więzi • Więź (ang. relationship) to powiązanie pomiędzy parą tabel. Istnieje ona wtedy, gdy dwie tabele są połączone przez klucz podstawowy i klucz obcy. Każda więź jest opisywana przez typ więzi istniejący między dwoma tabelami, typ uczestnictwa oraz stopień uczestnictwa tych tabel

  30. Typy więzi • jeden-do-jednego (jeżeli pojedynczemu rekordowi z pierwszej tabeli przyporządkowany jest najwyżej jeden rekord z drugiej tabeli i na odwrót)

  31. Więź jeden-do-jednego

  32. Typy więzi • jeden-do-wielu (jeżeli pojedynczemu rekordowi z pierwszej tabeli może odpowiadać jeden lub więcej rekordów z drugiej, ale pojedynczemu rekordowi z drugiej tabeli odpowiada najwyżej jeden rekord z tabeli pierwszej)

  33. Więź jeden-do-wielu

  34. Więzi identyfikujące • Klucz obcy, który jest składnikiem złożonego klucza głównego w relacji zależnej określany jest mianem klucza obcego głównego (Primary Foreign Key) a tak zbudowana więź więziom identyfikującą

  35. Więź jeden-do-wielu (identyfikująca)

  36. Obcy klucz główny (IdPracownika)

  37. Więź wiele-do-wielu (dane)

  38. Więź wiele-do-wielu • Na jednym agregacie mogą pracować różni pracownicy, np. na agregacie Piła 10. marca pracowało dwóch pracowników • Jeden pracownik może pracować na wielu agregatach, np. Kowalski pracował 10. marca na Pile i Tokarce)

  39. Więź wiele-do-wielu

  40. Więź wiele-do-wielu (po rekonstrukcji)

  41. Typy uczestnictwa • obowiązkowy (jeśli w pierwszej tabeli muszą znajdować się pewne rekordy zanim zaczniemy wprowadzać rekordy do tabeli drugiej) • opcjonalny (jeśli wprowadzanie rekordów do tabeli drugiej nie wymaga istnienia żadnych rekordów w tabeli pierwszej). • Stopień uczestnictwa określa minimalną i maksymalną liczbę rekordów w jednej tabeli, które można powiązać z pojedynczym rekordem w tabeli drugiej.

  42. Opcjonalny typ uczestnictwa

  43. Klucz sztuczny • Klucz stworzony wyłącznie dla potrzeb więzi w celu zastąpienia złożonego klucza głównego

  44. Klucz złożony...

  45. ...zastąpiony kluczem sztucznym

  46. Klucz złożony...

  47. ...zastąpiony kluczem sztucznym

  48. Klucz sztuczny • Klucz sztuczny może być wykorzystany do kodowania atrybutów tekstowych (w niektórych przypadkach także liczbowych) o powtarzających się wartościach, dla których można utworzyć listę • Użycie klucza sztucznego wymaga stworzenia dodatkowej tabeli (słownika) pozwalającego na „rozkodowanie” klucza

More Related