Cel normalizacji. Tadeusz Pankowski

Podobne dokumenty
Normalizacja. Pojęcie klucza. Cel normalizacji

Pojęcie zależności funkcyjnej

Systemy baz danych. Notatki z wykładu

Tadeusz Pankowski Definicja. Definicja

PLAN WYKŁADU BAZY DANYCH ZALEŻNOŚCI FUNKCYJNE

Normalizacja relacyjnych baz danych. Sebastian Ernst

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Bazy Danych i Usługi Sieciowe

Technologie baz danych

Zależności funkcyjne

Pożyczkobiorcy. Anomalia modyfikacji: Anomalia usuwania: Konta_pożyczkowe. Anomalia wstawiania: Przykłady anomalii. Pożyczki.

Bazy danych 2. Zależności funkcyjne Normalizacja baz danych

BAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji

Jak wiernie odzwierciedlić świat i zachować występujące w nim zależności? Jak implementacja fizyczna zmienia model logiczny?

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

Bazy danych 3. Normalizacja baz danych

PODSTAWY BAZ DANYCH 2009/ / Notatki do wykładu "Podstawy baz danych"

Bazy danych i usługi sieciowe

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Projektowanie Systemów Informacyjnych

KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości.

Normalizacja relacji

Relacyjne bazy danych. Normalizacja i problem nadmierności danych.

Pierwsza postać normalna

Bazy danych. Andrzej Łachwa, UJ, /15

Relacyjny model baz danych, model związków encji, normalizacje

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

Bazy danych. Algebra relacji

1 Przygotował: mgr inż. Maciej Lasota

Zależności funkcyjne pierwotne i wtórne

Normalizacja baz danych

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

BAZY DANYCH model relacyjny. Opracował: dr inż. Piotr Suchomski

1 Wstęp do modelu relacyjnego

Bazy danych Teoria projektowania relacyjnych baz danych. Wykła. Wykład dla studentów matematyki

Normalizacja schematów logicznych relacji

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Projektowanie relacyjnych baz danych

Wykład 2. Relacyjny model danych

Technologia informacyjna

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Relacyjny model danych

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Związki pomiędzy tabelami

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

Relacyjne Bazy Danych Andrzej M. Borzyszkowski. Projekt bazy danych normalizacja. PJATK/ Gdańsk. Dwie metodologie. Formalne zasady projektowe

Pierwsza postać normalna

Model relacyjny. Wykład II

Bazy danych 3. Normalizacja baz danych (c.d.)

Haszowanie (adresowanie rozpraszające, mieszające)

Zależności funkcyjne c.d.

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Dazy Banych. Michał Rusnarczyk

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH. Problemy w bazie danych Przykład sprowadzenia nieznormalizowanej SQL

- Przedmiot kończy się egzaminem - Egzamin ma formę testu teoretycznego

Transformacja modelu ER do modelu relacyjnego

Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników

Autor: Joanna Karwowska

Literatura. Bazy danych s.1-1

Bazy Danych. Projektowanie. Normalizacja. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE

Baza danych. Baza danych to:

BAZA DANYCH. Informatyka. ZESPÓŁ SZKÓŁ ELEKTRYCZNYCH Prowadzący: inż. Marek Genge

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

Normalizacja baz danych

Zadanie 1. Suma silni (11 pkt)

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Bazy danych 3. Zależności funkcyjne Normalizacja relacyjnych baz danych

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40

Bazy danych. Andrzej Łachwa, UJ, /15

Projektowanie baz danych

Przykłady normalizacji

Bazy danych 6. Przykłady

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

Postać normalna Boyce-Codd (BCNF)

Normalizacja schematów relacji

Konstruowanie Baz Danych Wprowadzenie do projektowania. Normalizacja

S y s t e m y. B a z D a n y c h

Bazy danych 1. Wykład 6 Metodologia projektowania baz danych. (projektowanie logiczne - Normalizacja)

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy.

Autor: Joanna Karwowska

Transformacja modelu EER do postaci relacyjnego modelu danych. Zbyszko Królikowski

Normalizacja schematu bazy danych. Radosław Fijołek Paweł Romanowski Paweł Trzos

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Relacyjny model danych

Bazy danych Wykład zerowy. P. F. Góra

Bazy Danych i Usługi Sieciowe

2017/2018 WGGiOS AGH. LibreOffice Base

Transformacja modelu ER do modelu relacyjnego

Model relacyjny bazy danych

Technologia Informacyjna

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

Model relacyjny. Wykład II

Transkrypt:

Plan Normalizacja Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski 1. Cel normalizacji. 2. Klucze schematów relacyjnych atrybuty kluczowe i niekluczowe. 3. 2PN druga postać normalna. 4. 3PN trzecia postać normalna. 5. Podsumowanie T. Pankowski, Normalizacja 1 T. Pankowski, Normalizacja 2 Cel normalizacji 1. Normalizacja jest jednym z etapów projektowania schematu relacyjnej bazy danych. 2. Celem projektowania schematów relacyjnych jest wyeliminowanie redundancji i anomalii. 3. Redundancja oznacza wielokrotne pamiętanie tych samych danych. Redundancja jest najczęściej niepożądane i szkodliwa, choć niekiedy może być uzasadniona. 4. Anomalie (wady): anomalia dołączania nie można dołączyć krotki, gdyż obok jednego rodzaju danych muszą być w niej umieszczone inne dane, których jeszcze nie znamy anomalia aktualizacji dane zmieniane są w jednym miejscu, ale w innych pozostają w poprzedniej postaci (związek z redundancją) anomalia usuwania usunięcie krotki powoduje niepożądaną usunięcie istotnych danych innego rodzaju Pojęcie klucza a) od klucza K muszą być funkcyjnie zależne wszystkie atrybuty relacji, b) K musi być minimalny, tzn. żaden jego właściwy podzbiór nie może mieć właściwości identyfikowalności, c) każdy zbiór K o właściwościach a) i b) nazywany jest często kluczem kandydującym, spośród takich kluczy wybieramy klucz główny (ang. primary key). T. Pankowski, Normalizacja 3 T. Pankowski, Normalizacja 4

Właściwości klucza głównego 1. Minimalna liczba atrybutów 2. Żaden z atrybutów nie może przyjmować wartości pustej (NULL) Przykład: W relacji (tabeli) Osoba(, Imię, DataUr, Pesel, Nip, ), kluczami kandydującymi są: {, Imię, DataUr} {Pesel}, (11 znaków, np. 81031654323) {Nip}, (13 znaków, np. 782-234-12-78) Jako klucz główny można wybrać Pesel (krótsza wartość niż Nip). Lepiej utworzyć dodatkowy atrybut o jednoznacznych wartościach lokalnie (np. w danej firmie) IdOs. Ostatecznie więc: Osoba(IdOs,, Imię, DataUr, Pesel, Nip, ) Atrybuty kluczowe i niekluczowe 1. Atrybuty należące do któregoś z kluczy (kandydujących) nazywamy atrybutami kluczowymi. 2. Atrybuty, które nie należą do żadnego klucza nazywamy atrybutami niekluczowymi. 3. Atrybuty należące do klucza głównego są często podkreślane. 4. Podstawą normalizacji jest analiza zależności funkcyjnych między atrybutami kluczowymi a niekluczowymi, a także zależności między atrybutami niekluczowymi. Wynik tej analizy uwzględnia się w procesie normalizacji. T. Pankowski, Normalizacja 5 T. Pankowski, Normalizacja 6 Druga Postać Normalna 2PN Wady relacji nie będącej w 2PN Schemat relacyjny, który nie jest w 2PN Egzamin(,,,, ) Egzamin(,,,, ) Klucz główny: {, } Atrybuty kluczowe:, Atrybuty niekluczowe:,, i zależą funkcyjnie od (tj. od części klucz głównego) zależy funkcyjnie od całego klucza głównego. Taka niejednorodność jest źródłem wielu anomalii. T. Pankowski, Normalizacja 7 Anomalia dołączania nie można dołączyć informacji o studencie dopóki nie zda co najmniej jednego egzaminu (atrybut kluczowy nie może być NULL-em). Redundancja pewne informacje ( i ) pamiętane są wielokrotnie, problemy z wprowadzaniem i modyfikacją danych. Anomalia usuwania usunięcie informacji o zdanym egzaminie (np. Nowaka) powoduje usunięcie wszystkich informacji o studencie (jeśli to był jedyny jego egzamin). T. Pankowski, Normalizacja 8

Druga Postać Normalna 2PN Pełna zależność funkcyjna Sprowadzanie do 2PN Egzamin(,,,, ) Definicja 2PN Wniosek: schemat relacyjny, w którym każdy klucz jest jednoelementowy jest w 2PN 9 Jest to rozkład bez straty danych, gdyż jest sterowany zależnością funkcyjną:, (Patrz twierdzenie o rozkładalności!) T. Pankowski, Normalizacja 10 Sprowadzanie do 2PN - algorytm Sprowadzanie do 2PN - przykład Wejście:R = (U, F) - schemat relacyjny. Wyjście: Zbiór schematów relacyjnych w 2PN równoważny R. Kroki: 1. Ω = {R = (U,F)}, Γ = 2. Czy Ω jest pusty? Tak koniec algorytmu, każdy schemat relacyjny w Γ jest w 2PN. Nie przejdź do (3) 3. Weź dowolny schemat R = (U,F) z Ω. 4. Czy istnieje niepełna zależność funkcyjna X A F (naruszenie warunku 2PN!). Tak przejdź do (5) Nie usuń R z Ω i dołącz do Γ 5. Rozłóż R na dwie projekcje: R 1 = (X +, F 1 ) i R 2 = ((U X + ) X, F 2 ), X + U - zbiór wszystkich atrybutów zależnych od X, F 1 zawiera wszystkie te ZF ze zbioru F +, których atrybuty zawarte są w X +. Podobnie dla F 2. 6. Przejdź do (2). R = (U, F) X A F niepełna zależność funkcyjna R 1 = (X +, F 1 ) i R 2 = ((U X + ) X, F 2 ), X = {}, X + = {,, } T. Pankowski, Normalizacja 12

Sprowadzanie do 2PN - uwagi Wady relacji w 2PN brak 3PN Schemat relacyjny, którego każdy klucz jest jednoelementowy jest w 2PN. Proces sprowadzania do 2PN nie jest jednoznaczny dla jednego schematu może istnieć wiele równoważnych informacyjnie układów projekcji tego schematu w 2PN. Spośród równoważnych układów schematów relacyjnych w 2PN w zasadzie wybieramy ten, który ma najmniejszą liczbę elementów. Student jest w 2PN (klucz 1-elementowy), ale występuje redundancja (kolumna Województwo) i anomalie. Przyczyna - zależność funkcyjna od atrybutu niekluczowego: Miasto Województwo T. Pankowski, Normalizacja 13 T. Pankowski, Normalizacja 14 Wady relacji w 2PN brak 3PN Tranzytywne zależności funkcyjne Zależności funkcyjne:,,, Wykonawca jest w 2PN (klucz 1-elementowy), ale występuje redundancja (kolumna ) i anomalie. Przyczyna - zależność funkcyjna od atrybutu niekluczowego: Np. Nie można wprowadzić danych o koszcie projektu dopóki nie zostanie określony co najmniej jeden jego wykonawca. K X A Uwaga: Jeśli A jest tranzytywnie zależny od K, to oczywiście A jest zależny od K również w zwykłym sensie. Tutaj podkreślamy jedynie, że istnieje wówczas pośredniczący zbiór X. T. Pankowski, Normalizacja 15 T. Pankowski, Normalizacja 16

Definicja 3PN Sprowadzanie do 3PN Wykonawca(,,,, ) Właściwość: Schemat relacyjny R = (U,F) jest w 3PN, w.i t.w. gdy dla każdej zależności X A F + zachodzi jeden z poniższych warunków: A X (zależność trywialna), albo X jest nadkluczem (zawiera klucz), albo A jest atrybutem kluczowym. Jest to rozkład bez straty danych, gdyż jest sterowany zależnością funkcyjną: (Patrz twierdzenie o rozkładalności!) T. Pankowski, Normalizacja 17 T. Pankowski, Normalizacja 18 Sprowadzanie do 3PN - algorytm Wejście:R = (U, F) - schemat relacyjny. Wyjście: Zbiór schematów relacyjnych w 3PN równoważny R. Kroki: 1. Ω = {R = (U,F)}, Γ = 2. Czy Ω jest pusty? Tak koniec algorytmu, każdy schemat relacyjny w Γ jest w 3PN. Nie przejdź do (3) 3. Weź dowolny schemat R = (U,F) z Ω. 4. Czy istnieje tranzytywna zależność funkcyjna X A F (naruszenie warunku 3PN!). Tak przejdź do (5) Nie usuń R z Ω i dołącz do Γ 5. Rozłóż R na dwie projekcje: R 1 = (X +, F 1 ) i R 2 = ((U X + ) X, F 2 ), X + U - zbiór wszystkich atrybutów zależnych od X, F 1 zawiera wszystkie te ZF ze zbioru F +, których atrybuty zawarte są w X +. Podobnie dla F 2. 6. Przejdź do (2). Sprowadzanie do 3PN - przykład Wykonawca(,,,, ) R = (U, F) X A F tranzytywna zależność funkcyjna R 1 = (X +, F 1 ) i R 2 = ((U X + ) X, F 2 ), X =, X + = {, } T. Pankowski, Normalizacja 20

Podsumowanie 1. Praktyka pokazuje, że 3PN jest najczęściej najlepszym rozwiązaniem. 2. Czasem okazuje się, że korzystne jest pozostawienie relacji w niższej postaci normalnej (w 2PN lub nawet tylko w 1PN). Niekiedy wykonuje się wręcz proces denormalizacji. Przykładem są analityczne bazy danych (hurtownie danych). 3. Wybór konkretnej postaci normalnej powinien być jednak dokonany w sposób świadomy, z uwzględnieniem wszystkich tego konsekwencji. T. Pankowski, Normalizacja 21