1 / 31

Normalizacja

Normalizacja. Następne wcielenie. Bez powtórzeń Pola zależą od klucza Od całego klucza I niczego innego, tylko klucza. Przysięga normalizacji. The key, the whole key and nothing but the key. So help me … Codd Klucz, cały klucz i tylko klucz …tak mi dopomóż Codd. Diagramy zależności.

aran
Télécharger la présentation

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 Następne wcielenie

  2. Bez powtórzeń • Pola zależą od klucza • Od całego klucza • I niczego innego, tylko klucza

  3. Przysięga normalizacji The key, the whole key and nothing but the key. So help me … Codd Klucz, cały klucz i tylko klucz …tak mi dopomóż Codd

  4. Diagramy zależności • Klasyczna normalizacja jest opisana jako proces rozkładu odwracalnego. Metoda rozkładu rozpoczyna się od jednej (uniwersalnej) relacji • Rozkład odwracalny jest więc procesem projektowania, który gwarantuje, że utworzony zbiór danych będzie wolny od anomalii • Metoda rozkładu ma jednak kilka wad, sprawia trudności zwłaszcza wówczas, gdy chcemy ją konsekwentnie stosować w praktyce jako metodę projektowania bazy danych: • Wymaga, aby cały zbiór danych był w pełni określony, zanim rozpocznie się proces. • Dla dużego zbioru danych proces ten jest: a) bardzo czasochłonny, b) trudny do zastosowania, c) podatny na błędy popełnione przez człowieka.

  5. Metoda graficzna • Główną zaletą metody diagramów zależności jest to, że określa mechanizm przyrostowego projektowania bazy danych. • Nie jest konieczny pełny zbiór elementów danych, aby móc rozpocząć proces projektowania. • Analityk danych może rozpocząć pracę z małym zbiorem elementów danych mających centralne znaczenie. • Następnie stopniowo może dodawać nowe elementy danych do tworzonego diagramu dopóty, dopóki wszystkie zależności nie będą w pełni udokumentowane. • Diagram, który dokumentuje zależności (determinowanie) między elementami danych, nazywa się diagramem zależności lub diagramem determinowania. • Zależność funkcyjną między dwoma elementami danych oznaczamy za pomocą strzałki łączącej determinujący element danych z zależnym elementem danych.

  6. Diagramy - zależności funkcyjne

  7. Zależności niefunkcyjne • Mówimy, że element danych B jest niefunkcyjnie zależny od elementu danych A, jeżeli dla każdej wartości elementu danych A istnieje ograniczony zbiór wartości elementu danych B. Odwzorowanie nie jest już funkcyjne, ponieważ jest jeden do wiele.

  8. NrPrac i JęzykPrac znajdują się w związku zależności niefunkcyjnej lub wielowartościowej. Innymi słowy, dla każdego NrPrac możemy zidentyfikować ograniczony zbiór kodów języków, które stosują się do tego pracownika.

  9. Często okazuje się, że to, co jest jednowartościową zależnością w jednym kierunku, jest wielowartościową zależnością w przeciwnym kierunku. W takich wypadkach zawsze wybieramy kierunek zależności funkcyjnej. Powoduje to, że ewentualny schemat relacyjny będzie o wiele prostszy. Jak się okaże, redukuje to liczbę wymaganych kluczy złożonych. NrPrac NazwaWydz

  10. Jeśli jednak zależność funkcyjna lub niefunkcyjna występuje w obydwu kierunkach, to wybieramy jeden z nich. NrPrac NrTelWewn

  11. Zależności przechodnie • Istnieje zależność funkcyjna z NrPrac do NazwaDziału, z NazwaDziału do lokalizacja i z NrPrac do lokalizacja. • Każdy układ, w którym A determinuje B, B determinuje C i A determinuje również C, możemy uprościć do łańcucha od A do B i od B do C. • Wykrycie i usunięcie zależności przechodnich między atrybutami upraszcza złożone diagramy zależności i jest ważną częścią procesu normalizacji

  12. Zależności złożone • Dość często jeden element danych nie wystarcza, aby w pełni zdeterminować wartości jakiegoś innego elementu danych. Kombinacja dwóch lub więcej elementów danych daje nam związek zależny.

  13. Akomodacja • Akomodacja - proces przekształcenia diagramu zależności w zbiór struktur tabel lub schemat relacyjny • Akomodacja zależności funkcyjnych - każdy funkcyjnie determinujący element staje się kluczem głównym tabeli. • Wszystkie bezpośrednio zależne od niego elementy danych stają się niegłównymi atrybutami tabeli - reguła Boyce'a-Codda

  14. Klucze kandydujące • Klucz kandydujący jest dowolnym elementem danych, który może pełnić funkcję klucza głównego tabeli. • Za pomocą diagramów zależności klucze kandydujące są reprezentowane przez determinujące elementy danych. • Wybieramy jeden z nich, aby był faktycznym kluczem tabeli, a drugi traktujemy jak zależny element danych w tabeli.

  15. Reguła Boyce'a-Codda, powinna być zatem wyrażona następująco: każdy funkcyjnie determinujący element staje się kluczem kandydującym relacji. Innymi słowy: z pewnej liczby kluczy kandydujących wybieramy jeden, aby pełnił funkcję klucza głównego.

  16. Akomodacja zależności niefunkcyjnych • Zależności niefunkcyjne przekształcamy stosując następującą regułę: Każdy niefunkcyjny determinujący element staje się częścią klucza głównego tabeli. • Mówiąc dokładniej, tworzymy klucz złożony z determinującego elementu danych i zależnych elementów danych wchodzących w skład związku niefunkcyjnego.

  17. Kolejne postacie normalne • Pierwsza, druga i trzecia postać normalna dotyczą zależności funkcyjnych, czwarta i piąta postać normalna - zależności niefunkcyjnych. • Pierwsza postać normalna dotyczy powtarzających się grup. Jeżeli zależności funkcyjne dokumentują związki jeden do wiele między danymi, to są one jawną reprezentacją powtarzających się grup. • Druga postać normalna dotyczy zależności od części klucza. Tutaj wydobywamy zależności funkcyjne z klucza złożonego. • Trzecia postać normalna dotyczy zależności przechodnich między danymi. Tutaj identyfikujemy determinujące elementy wśród niegłównych atrybutów tabeli.

  18. Postać normalna Boyce’a/Codda • BCNF traktowan jest jako odmiana 3NF i dotyczy szczególnego rodzaju relacji z wieloma kluczami kandydującymi • Aby móc zastosować BCNF muszą być spełnione warunki: • Relacja musi mieć co najmniej dwa klucze kandydujące, • Co najmniej dwa klucze kandydujące muszą być kluczami złożonymi, • Klucze kandydujące muszą mieć wspólne atrybuty.

  19. Postać normalna Boyce'a/Codda określa przede wszystkim, że nie mogą istnieć zależności funkcjonalne między kluczami kandydującymi

  20. IdDostawcy IdProduktu Ilość CenaJedn NazwaDost IdProduktu

  21. Dostawcy Produkty

  22. Czwarta postać normalna • Aby przejść z trzeciej postaci normalnej do czwartej, szukamy tabel, które zawierają dwie lub więcej niezależnych zależności wielowartościowych. Zależności wielowartościowe występują na szczęście rzadziej niż zależności od części klucza lub zależności przechodnie.

  23. Czwarta postać normalna c.d. • Przypuśćmy, że chcemy zaprojektować bazę danych pracowników Komisji Unii Europejskiej, która przechowuje informacje na temat umiejętności pracowników i języków, jakimi potrafią się posługiwać. • Pracownik prawdopodobnie będzie posiadał kilka umiejętności (np. pisanie na maszynie, edytowanie tekstów, wykonywanie operacji arkusza kalkulacyjnego) i od większości pracowników wymaga się, aby mówili przynajmniej dwoma językami.

  24. Pracownicy UE

  25. W czwartej postaci normalnej te dwa związki nie mogą być reprezentowane w jednej tabeli • Występowanie dwóch niezależnych zależności wielowartościowych oznacza, że musimy podzielić tabelę na dwie tabele UmiejPrac NrPrac JezykPrac

  26. UmiejętnościUE JęzykiUE

  27. Piąta postać normalna tabela w czwartej postaci normalnej jest w piątej postaci normalnej, jeżeli nie istnieje jej rozkład odwracalny na zbiór mniejszych tabel

More Related