1 / 37

Normalizacja

Normalizacja. Wykład 4 Prowadzący: dr Paweł Drozda. Pojęcie normalizacji. Reguły projektowania relacyjnych baz danych Dekompozycja schematu relacji w celu pozbycia się niepożądanych cech Pierwotnie – trzy postacie normalne wprowadzone przez Codda

willow
Download Presentation

Normalizacja

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. Normalizacja Wykład 4 Prowadzący: dr Paweł Drozda

  2. Pojęcie normalizacji • Reguły projektowania relacyjnych baz danych • Dekompozycja schematu relacji w celu pozbycia się niepożądanych cech • Pierwotnie – trzy postacie normalne wprowadzone przez Codda • Później - postać normalna Boyce’a – Codda, czwarta i piąta postać normalna wprowadzona przez Fagina dr Paweł Drozda

  3. Po co normalizować? (1) dr Paweł Drozda

  4. Po co normalizować? (2) • nrindeksu, przedmiot – pole unikalne • Problemy (anomalie): • Redundancja • Przy wprowadzaniu danych • Przy usuwaniu danych • Przy aktualizacji • Rozwiązanie – rozkład relacji na relacje Student oraz Egzamin dr Paweł Drozda

  5. Po co normalizować? (3) Rozwiązanie: dr Paweł Drozda

  6. Po co normalizować? (4) • adres i nazwisko – tylko w jednej krotce (rozwiązanie redeundancji) • przy wstawianiu nowego studenta – niekoniecznie przedmiot i ocena (rozwiązanie problemu wstawiania) • usunięcie egzaminu nie usuwa studenta (rozwiązanie problemu usuwania) • aktualizacja adresu, nazwiska – tylko raz (rozwiązanie problemu aktualizacji) dr Paweł Drozda

  7. Zależności funkcyjne (1) • Definicja • Jeśli dwie krotki relacji R są zgodne dla atrybutów A1,…,An to muszą być zgodne w pewnym atrybucie B • Zapis A1,…,AnB • Gdy: A1,…,AnB1 … A1,…,AnBm, to zapisujemy A1,…,AnB1,…,Bm dr Paweł Drozda

  8. Zależności funkcyjne – przykład (1) dr Paweł Drozda

  9. Zależności funkcyjne – przykład (2) • Zależności funkcyjne • nrindeksu  nazwisko • nrindeksu  adres ponieważ: 127000  Maliniak, Świerkowa 6 123123  Kowal, Akacjowa 1 666555  Nowak, Różana 4/78 dr Paweł Drozda

  10. Klucze • Nadklucz – podzbiór atrybutów w relacji od którego wszystkie pozostałe zależą funkcyjnie • Zbiór atrybutów (A1,…,An) tworzy klucz relacji jeżeli: • Pozostałe atrybuty są funkcyjnie zależne od (A1,…,An) • Nie istnieje podzbiór zbioru {A1,…,An}, od którego pozostałe atrybuty są funkcyjnie zależne (klucz musi być minimalny) dr Paweł Drozda

  11. Klucze – przykład (1) dr Paweł Drozda

  12. Klucze – przykład (2) • Klucz – (nrindeksu, przedmiot) • Pozostałe dwa pola zależne funkcyjnie od nrindeksu i przedmiot • nrindeksu, przedmiot  data, ocena (przy założeniu że dany student może mieć jedną ocenę z zaliczenia) dr Paweł Drozda

  13. Wykrywanie kluczy • Dla relacji stworzonej ze zbioru encji – atrybuty kluczowe tego zbioru encji • Związki binarne: • Związek wiele do wiele – klucz tworzony z kluczy obu zbiorów encji • Związek wiele do jeden – klucze pochodzą ze zbioru encji po stronie wiele • Związek jeden do jeden – klucz dowolnego ze zbiorów encji brany pod uwagę • Związki wieloargumentowe – nie da się jednoznacznie określić klucza dr Paweł Drozda

  14. Reguły dotyczące zależności funkcyjnych (1) • Poprzez zastosowanie reguł otrzymane zbiory są równoważne z wejściowymi • Zasady podziału i łączenia • Podział A1,…,AnB1,…,Bm  A1,…,AnBi, i=1,…,m nrindeksu  nazwisko, adres można podzielić: nrindeksu  nazwisko, nrindeksu  adres • Łączenie– odwrotność podziału dr Paweł Drozda

  15. Reguły dotyczące zależności funkcyjnych (2) • Reguła zależności trywialnych • Typy zależności dla A1,…,AnB1,…,Bm: • Trywialna – gdy B jest podzbiorem A • Nietrywialna – gdy choć jeden element ze zbioru B nie należy do A • Całkowicie nietrywialna – gdy żaden atrybut zbioru B nie należy do zbioru A • Reguła zależności: Dla A1,…,AnB1,…,Bm zbiór B można ograniczyć do podzbioru elementów nie należących do A dr Paweł Drozda

  16. Reguły dotyczące zależności funkcyjnych (3) • Domknięcie zbioru atrybutów nad zbiorem zależności S – ozn. {A1,…,An}+ - zbiór atrybutów spełniających wszystkie zależności ze zbioru S (zakładając występowanie zależności trywialnych) dr Paweł Drozda

  17. Reguły dotyczące zależności funkcyjnych (4) • Tworzenie domknięcia • Start: X={A1,…,An} X – zbiór domknięcia • Dla dowolnych B1,…,Bk  C, gdzie B1,…,Bk należą do X a C nie należy do X, C zostanie dołączone do X • Poprzednia procedura powtarzana aż do momentu gdy nie da się dodać żadnego atrybutu do X – wtedy X={A1,…,An}+ dr Paweł Drozda

  18. Reguły dotyczące zależności funkcyjnych (5) • Domknięcie – przykład Relacja z atrybutami A,B,C,D,E,F,G Szukane domknięcie dla zbioru {A,B} z zależnościami funkcyjnymi: AB  D, ACD  E, D  C, EF  G 1. X={A,B} dodane D z zależności ABD 2. X={A,B,D} dodane C z zależności DC 3. X={A,B,D,C} dodane E z zależności ACDE 4. X={A,B,D,C,E}={A,B}+ - kolejnych atrybutów nie można już dodać dr Paweł Drozda

  19. Reguły dotyczące zależności funkcyjnych (6) • Domknięcie informuje, czy dana zależność funkcyjna wynika z S • Reguła przechodniości Jeśli w relacji R zachodzą zależności A1,…,AnB1,…,Bm i B1,…,BmC1,…,Ck to również w tej relacji zachodzi: A1,…,AnC1,…,Ck • Klucz relacji • zbiór {A1,…,An}+ zawiera wszystkie elementy relacji • usunięcie elementu ze zbioru {A1,…,An} skutkuje zmniejszeniem się zbioru {A1,…,An}+ dr Paweł Drozda

  20. Normalizacja • Dekompozycja relacji, aż do osiągnięcia pożądanych cech schematu – różnych dla każdej postaci normalnej • Własności normalizacji: • zachowania atrybutów • zachowania informacji • zachowania zależności dr Paweł Drozda

  21. Pierwsza postać normalna – 1NF (1) • Definicja – relacja jest w pierwszej postaci normalnej wtw gdy każdy atrybut jest zależny funkcyjnie od klucza relacji dr Paweł Drozda

  22. Druga postać normalna - 2NF • Definicja – relacja jest w drugiej postaci normalnej wtw gdy jest w pierwszej postaci normalnej oraz każdy atrybut niekluczowy jest w pełni funkcyjnie zależny od klucza głównego (zależy o całego klucza, a nie od jego części) dr Paweł Drozda

  23. Przekształcenie do 2NF - przykład dr Paweł Drozda

  24. Trzecia postać normalna – 3NF • Definicja – relacja jest w trzeciej postaci normalnej wtw gdy jest w drugiej postaci normalnej oraz gdy każdy niekluczowy atrybut relacji jest bezpośrednio zależny od klucza relacji dr Paweł Drozda

  25. Przekształcenie do 3NF - przykład dr Paweł Drozda

  26. Dekompozycja relacji • Podział atrybutów na dwa schematy nowych relacji • Podział krotek przez rzutowanie • {A1,…,An}={B1,…,Bm} suma {C1,…,Ck} dr Paweł Drozda

  27. Postać normalna Boyce’a - Codda • Definicja – relacja jest w postaci normalnej Boyce’a – Codda wtw gdy dla każdej zależności nietrywialnej A1,…,An B zbiór {A1,…,An} jest nadkluczem tej relacji dr Paweł Drozda

  28. BCNF – przykład (1) • Relacja: adresmiasta(kod,miasto,ulicanr) • Zależności funkcyjne kod miasto, miasto,ulicakod Klucz (miasto, ulica) • Relacja nie jest w BCNF ponieważ pierwsza zależność jest niezgodna z definicją dr Paweł Drozda

  29. BCNF – przykład (2) dr Paweł Drozda

  30. BCNF - dekompozycja • Odnalezienie nietrywialnej zależności funkcyjnej: A1A2...An B1B2...Bn, która narusza BCNF – tzn. A1A2...An nie jest nadkluczem • Dodanie do prawej strony wszystkich atrybutów zależnych funkcyjnie od A1A2...An – w ten sposób powstaje nowa relacja • Druga relacja będzie się składała z atrybutów A1A2...An oraz z pozostałych (poza B1B2...Bn) atrybutów relacji dr Paweł Drozda

  31. BCNF – dekompozycja - przykład Nrindeksu, przedmiot  ocena nrindeksu  nazwisko dr Paweł Drozda

  32. Zależności wielowartościowe (1) • Oznaczenie: A  B – dla każdego zbioru argumentów A istnieje wiele różnych argumentów z B np. dla relacji osoba: Pesel  kat.prawajazdy • Jeśli w relacji są co najmniej dwie zależności wielowartościowe - redundancja dr Paweł Drozda

  33. Zależności wielowartościowe (2) na jednej trasie – dwa typy samolotów Modyfikacja – dodatkowy dzień (czwartek) dodatkowy typ samolotów (333) dr Paweł Drozda

  34. Zależności wielowartościowe (3) Doszło 5 krotek. Rozwiązanie: Dekompozycja dr Paweł Drozda

  35. Zależności wielowartościowe (4) • Konsekwencja 1NF – nie dopuszcza aby krotki zawierały atrybuty wielowartościowe • Zależność trywialna XY jest trywialna, gdy: Y jest podzbiorem X lub X suma Y =R dr Paweł Drozda

  36. Czwarta postać normalna • Definicja: Relacja jest w 4NF wtw gdy: relacja jest w 3NF i każda zależność A1,…,An B1,…,Bm jest trywialna lub {A1,…,An}jest nadkluczem dr Paweł Drozda

  37. Dekompozycja na relacje w 4NF • Relacja R dekomponuje się na relacje R1 i R2 bez utraty informacji, gdy: R1 iloczyn R2  (R1-R2) lub R1 iloczyn R2  (R2-R1) dr Paweł Drozda

More Related