Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Andrzej Macioł Bazy danych – model relacyjny – cz. 2 Andrzej Macioł

Podobne prezentacje


Prezentacja na temat: "Andrzej Macioł Bazy danych – model relacyjny – cz. 2 Andrzej Macioł"— Zapis prezentacji:

1 Andrzej Macioł 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 Andrzej Macioł Relacja nie znormalizowana PracownikJęzyki Jan Kowalskiangielski – słabo, niemiecki - dobrze Adam Kotrosyjski – bardzo dobrze

4 Andrzej Macioł Relacja nie znormalizowana PracownikZnajomość języków JęzykPoziom Jan Kowalskiangielskisłabo niemieckidobrze Adam Kotrosyjskibardzo dobrze

5 Andrzej Macioł 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 Andrzej Macioł Relacja znormalizowana PracownikJęzykPoziom Jan Kowalskiangielskisłabo Jan Kowalskiniemieckidobrze Adam Kotrosyjskibardzo dobrze

7 Andrzej Macioł 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 Andrzej Macioł Relacja znormalizowana - nieporozumienia PracownikImię dzieckaData ur. dziecka KowalskiAnia Jaś KotPatrycja Filemon

9 Andrzej Macioł Relacja znormalizowana - nieporozumienia Praco- wnik Imię dziecka1 Data ur. dziecka1 Imię dziecka2 Data ur. dziecka2 Kowal- ski Ania Jaś KotPatrycja Filemon

10 Andrzej Macioł Pierwsza postać normalna PrzedmiotProwadzącyStudentOcena matematykaprof. LisJak Kot2,0 matematykaprof. LisEwa Osa3,0 matematykaprof. LisAdam Struś5,0

11 Andrzej Macioł 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 Andrzej Macioł Pierwsza postać normalna PrzedmiotStudentOcena matematykaJak Kot2,0 matematykaEwa Osa3,0 matematykaAdam Struś5,0 PrzedmiotProwadzący matematykaprof. Lis

13 Andrzej Macioł Anomalie przy usuwaniu, wstawianiu i aktualizacji PracownikPESELKomórka organizacyjna StanowiskoZadania Jan Kowalski Dział Kadrkierownikkierowanie Jan Kowalski Dział Kadrkierowniknadzór Jan Kowalski Dział Kadrkierownikanalizy Adam Kot Dział Kadrreferentsprawozdania Adam Kot Dział Kadrreferentanalizy Ewa Lis Dział Kadrreferentsprawozdania Ewa Lis Dział Kadrreferentanalizy

14 Andrzej Macioł 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 Andrzej Macioł 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 Andrzej Macioł Ta relacja nie jest w drugiej postaci normalnej PracownikPESELKomórka organizacyjna StanowiskoZadania Jan Kowalski Dział Kadrkierownikkierowanie Jan Kowalski Dział Kadrkierowniknadzór Jan Kowalski Dział Kadrkierownikanalizy Adam Kot Dział Kadrreferentsprawozdania Adam Kot Dział Kadrreferentanalizy Ewa Lis Dział Kadrreferentsprawozdania Ewa Lis Dział Kadrreferentanalizy

17 Andrzej Macioł 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 Andrzej Macioł PracownikPESEL Jan Kowalski Adam Kot Ewa Lis Komórka organizacyjnaStanowiskoZadania Dział Kadrkierownikkierowanie Dział Kadrkierowniknadzór Dział Kadrkierownikanalizy Dział Kadrreferentsprawozdania Dział Kadrreferentanalizy PESELKomórka organizacyjnaStanowisko Dział Kadrkierownik Dział Kadrreferent Dział Kadrreferent

19 Andrzej Macioł 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

20 Andrzej Macioł Ta relacja nie jest w trzeciej postaci normalnej PracownikPESELKodPocztowyMiejscowośćWojewództwo Jan Kowalski Bolechowicemałopolskie Adam Kot Krakówmałopolskie Ewa Lis Bolechowicemałopolskie

21 Andrzej Macioł 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

22 Andrzej Macioł Forma normalna Boyce-Codda 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

23 Andrzej Macioł Forma normalna Boycea-Codda Relacja jest w postaci Boyce-Codda 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

24 Andrzej Macioł Forma normalna Boyce-Codda IdPracownikaZawódWykształcenieStawka 1ślusarzpodstawowe5,20 1tokarzzawodowe5,30 2ślusarzzawodowe5,50 3tokarzzawodowe5,30 4ślusarzpodstawowe5,20 kluczem w relacji jest podzbiór IdPracownika, Zawód zależność Zawód, Wykształcenie Stawka jest funkcjonalna i nietrywialna a Zawód, Wykształcenie nie jest zbiorem identyfikującym

25 Andrzej Macioł Forma normalna Boyce-Codda IdStudentaSeminariumOpiekun 1marketingKowalski 1kadryKozłowski 2kadryJanowski 3marketingKowalski 4informatykaMacioł 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 Opiekun nie jest zbiorem identyfikującym

26 Andrzej Macioł 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

27 Andrzej Macioł 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 t 1 i t 2 z relacji r istnieje taka para krotek że: s 1 [X]=s 2 [X]=t 1 [X]=t 2 [X] i s 1 [Y]= t 1 [Y] i s 1 [R-X-Y]=t 2 [R-X-Y] i s 2 [Y]= t 2 [Y] i s 2 [R-X-Y]=t 1 [R-X-Y]

28 Andrzej Macioł Zależność wielowartościowa krotkaNazwiskoImię dziecka Znajomość języków t1t1 KotAnianiemiecki t2t2 KotJaśangielski s1s1 KotAniaangielski s2s2 KotJaśniemiecki SłońOlaniemiecki SłońOlaangielski XYR-X-Y

29 Andrzej Macioł Zależność wielowartościowa t 1 [X]=t 2 [X]=s 1 [X]=s 2 [X]=(Kot) s 1 [Y]= t 1 [Y]=(Ania) i s 1 [R-X-Y]=t 2 [R-X-Y]=(angielski) i s 2 [Y]= t 2 [Y]=(Jaś) i s 2 [R-X-Y]=t 1 [R-X-Y]=(niemiecki)

30 Andrzej Macioł 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

31 Andrzej Macioł 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)

32 Andrzej Macioł Więź jeden-do-jednego

33 Andrzej Macioł 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)

34 Andrzej Macioł Więź jeden-do-wielu

35 Andrzej Macioł 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ą

36 Andrzej Macioł Więź jeden-do-wielu (identyfikująca)

37 Andrzej Macioł Obcy klucz główny (IdPracownika) RokMiesiacIdPracownikaLiczbaGodzin Taki wiersz nie może się pojawić

38 Andrzej Macioł Więź wiele-do-wielu (dane) IdAgregatuAgregatDataIdPracownikaNazwiskoGodziny 1Piła Kowalski4 1Piła Lis4 2Tokarka Kowalski4 2Tokarka Kot8 1Piła Kowalski8 2Tokarka Kot2 2Tokarka Lis6

39 Andrzej Macioł 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)

40 Andrzej Macioł Więź wiele-do-wielu

41 Andrzej Macioł Więź wiele-do-wielu (po rekonstrukcji) IdAgregatuDataIdPracownikaGodziny

42 Andrzej Macioł 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.

43 Andrzej Macioł Opcjonalny typ uczestnictwa

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

45 Andrzej Macioł Klucz złożony...

46 Andrzej Macioł...zastąpiony kluczem sztucznym

47 Andrzej Macioł Klucz złożony...

48 Andrzej Macioł...zastąpiony kluczem sztucznym

49 Andrzej Macioł 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


Pobierz ppt "Andrzej Macioł Bazy danych – model relacyjny – cz. 2 Andrzej Macioł"

Podobne prezentacje


Reklamy Google