Pojęcie zależności funkcyjnej

Podobne dokumenty
Normalizacja. Pojęcie klucza. Cel normalizacji

Zależności funkcyjne

Cel normalizacji. Tadeusz Pankowski

Tadeusz Pankowski Definicja. Definicja

Systemy baz danych. Notatki z wykładu

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

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

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

Bazy Danych i Usługi Sieciowe

Technologie baz danych

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

Bazy danych i usługi sieciowe

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

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

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Bazy danych. Andrzej Łachwa, UJ, /15

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

Bazy danych 3. Normalizacja baz danych

Normalizacja relacyjnych baz danych. Sebastian Ernst

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

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

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

Projektowanie relacyjnych baz danych

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

Normalizacja baz danych

Pierwsza postać normalna

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

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

Projektowanie Systemów Informacyjnych

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

Zależności funkcyjne pierwotne i wtórne

1 Przygotował: mgr inż. Maciej Lasota

Zależności funkcyjne c.d.

Normalizacja schematów logicznych relacji

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

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

Postać normalna Boyce-Codd (BCNF)

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

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

Bazy Danych i Usługi Sieciowe

1 Wstęp do modelu relacyjnego

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

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

Projektowanie baz danych

Relacyjny model danych

Normalizacja relacji

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

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

Baza danych. Modele danych

Bazy danych. Andrzej Łachwa, UJ, /15

Wykład 2. Relacyjny model danych

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

Bazy danych. Algebra relacji

Model relacyjny bazy danych

Pierwsza postać normalna

Model relacyjny. Wykład II

Literatura. Bazy danych s.1-1

Baza danych. Baza danych to:

Związki pomiędzy tabelami

Konstruowanie Baz Danych Wprowadzenie do projektowania. Normalizacja

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

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

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Technologia informacyjna

RBD Relacyjne Bazy Danych Więzy realcji

Autor: Joanna Karwowska

Normalizacja Projektowanie Diagramy encji. Bazy Danych i Systemy informacyjne Wykład 7. Piotr Syga

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

Bazy danych wykład drugi. Konrad Zdanowski

Bazy danych Projektowanie i implementacja relacyjnych baz danych

Bazy danych. Bazy danych. wykład kursowy. Adam Kolany. Państwowa Wyższa Szkoła Zawodowa 2007/2008

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

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

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

Normalizacja baz danych

Bazy danych 2. Algebra relacji Zależności funkcyjne

Algebra abstrakcyjna

Normalizacja schematów relacji

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

Normalizacja tabel POSTACIE NORMALNE TABEL

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

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy danych w sterowaniu

domykanie relacji, relacja równoważności, rozkłady zbiorów

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

Systemy baz danych. mgr inż. Sylwia Glińska

Technologia Informacyjna

WPROWADZENIE DO BAZ DANYCH

Algebra relacji. nazywamy każdy podzbiór iloczynu karteziańskiego D 1 D 2 D n.

Projektowanie relacyjnych baz danych

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

Bazy danych Algebra relacji Wykład dla studentów matematyki

Dazy Banych. Michał Rusnarczyk

Model relacyjny. Wykład II

Bazy Danych 2008 Część 1 Egzamin Pisemny

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski

Grupy. Permutacje 1. (G2) istnieje element jednostkowy (lub neutralny), tzn. taki element e G, że dla dowolnego a G zachodzi.

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

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

Transkrypt:

Postacie normalne

Plan wykładu Zależności funkcyjne Cel normalizacji Pierwsza postać normalna Druga postać normalna Trzecia postać normalna Postać normalna Boyca - Codda

Pojęcie zależności funkcyjnej Definicja 1: Niech U będzie skończonym zbiorem atrybutów relacji R. Zależnością funkcyjną nazywamy każdy zapis postaci: X Y gdzie: X, Y U Mówimy wówczas, że Y zależy funkcyjnie od X lub że X determinuje funkcyjnie Y

Spełnienie zależności funkcyjnej Definicja 2: Niech dana będzie relacja R(U) i niech: X, Y U Mówimy, że w R spełniona jest zależność funkcyjna: X Y co zapisujemy: R X Y jeśli dla każdych dwóch krotek: zachodzi: r 1[ X ] r2[ X ] r1[ Y ] r2[ Y r 1, r ] 2 R

Spełnienie zależności funkcyjnej - przykład Egzamin NrStud Nazwisko Przedmiot Ocena 10 Kowalski Algebra 3 10 Kowalski Analiza 4 11 Nowak Algebra 3 12 Wróbel Algebra 3 Egza min NrStud Nazwisko Czy zachodzi zależność odwrotna? Egzamin NrStud,Przedmiot Nazwisko Egzamin Przedmiot Ocena (?)

Domknięcie zbioru atrybutów względem zależności funkcyjnych Zbiór: X { AU : X A} nazywamy domknięciem zbioru X względem zbioru zależności funkcyjnych. Twierdzenie: X Y Y X

Wyznaczanie domknięcia - przykład Dany niech będzie zbiór zależności F F = {A->B, B->C, C->A} Obliczamy domknięcie atrybutu A względem zbioru F. 1) A+ = {A} 2) Na podstawie A->B mamy A+ = {AB} 3) Na podstawie B->C mamy A+ = {ABC}

Wyznaczanie domknięcia - przykład Dany niech będzie zbiór zależności F: F = {AB->C, C->A, BC->D, ACD->B, D->EG, BE->C, CG->BD, CE->AG} Obliczamy domknięcie atrybutów BD względem zbioru F. 1) BD+ = {BD} 2) Na podstawie D->EG mamy BD + = {BDEG} 3) Na podstawie BE->C mamy BD + = {BCDEG} 4) Na podstawie CE->AG mamy BD + = {ABCDEG}

Cele normalizacji Normalizacja jest jednym z etapów projektowania. Eliminowanie redundancji i anomalii. Redundancja danych występuje wtedy, gdy te same dane są zapisane w bazie wiele razy. Mogą występować następujące anomalie: Anomalia dołączania: Nie można dołączyć danych, bo nie istnieją inne dane z nimi związane; Anomalia aktualizacji: Dane zmieniają się w jednym miejscu, ale pozostają nieaktualne w drugim; Anomalia usuwania: Usunięcie krotki z danymi powoduje usunięcie danych innego rodzaju.

Pojęcie klucza Dany niech będzie schemat relacyjny: R = (U, F). K U Zbiór atrybutów nazywamy kluczem schematu R wtedy i tylko wtedy, gdy spełnione są następujące warunki: 1) Jednoznaczna identyfikalność 2) Minimalność X U F K U F ( X K) Z warunku 1) wynika, że: K U

Właściwości klucza Klucz posiada minimalną liczbę atrybutów. Atrybuty relacji należące do klucza nazywamy atrybutami kluczowymi. Atrybuty relacji nie należące do klucza nazywamy atrybutami niekluczowymi. Żaden atrybut należący do klucza nie może przyjmować wartości NULL. Przy normalizacji badane są zależności funkcyjne pomiędzy atrybutami kluczowymi a niekluczowymi oraz zależności pomiędzy atrybutami niekluczowymi.

Pierwsza postać normalna 1PN Relacja jest w pierwszej postaci normalnej, jeśli wartości atrybutów poszczególnych krotek są wartościami atomowymi.

Przykład relacji nie będącej w 2PN Egzamin NrStud Nazwisko Wydział Przedmiot Ocena 10 Kowalski PPT Algebra 3 10 Kowalski PPT Analiza 4 11 Nowak IZ Algebra 3 12 Wróbel Chemiczny Algebra 3 Zależności funkcyjne: NrStud Nazwisko,Wydzial NrStud, Przedmiot Ocena Klucz: {NrStud, Przedmiot} Atrybuty kluczowe: {NrStud, Przedmiot} Atrybuty niekluczowe: {Nazwisko, Wydział, Ocena} Atrybut Ocena zależy od całego klucza Atrybuty: Nazwisko, Wydział zależą od części klucza. To jest źródłem anomalii

Egzamin Anomalie występujące w przypadku braku 2PN NrStud Nazwisko Wydział Przedmiot Ocena 10 Kowalski PPT Algebra 3 10 Kowalski PPT Analiza 4 11 Nowak IZ Algebra 3 12 Wróbel Chemiczny Algebra 3 13 Przybylski Chemiczny NULL NULL Anomalia dołączania: Dodanie studenta, który jeszcze nie zdał żadnego egzaminu jest niemożliwe, gdyż atrybut kluczowy Przedmiot przyjąłby wtedy wartość NULL.

Egzamin Anomalie występujące w przypadku braku 2PN NrStud Nazwisko Wydział Przedmiot Ocena 10 Kowalski PPT Algebra 3 10 Kowalski PPT Analiza 4 11 Nowak IZ Algebra 3 12 Wróbel Chemiczny Algebra 3 Anomalia usuwania: Usunięcie krotki o zdanym egzaminie Nowaka powoduje usunięcie wszystkich danych związanych z Nowakiem (jeśli to był jego jedyny egzamin)

Egzamin Anomalie występujące w przypadku braku 2PN NrStud Nazwisko Wydział Przedmiot Ocena 10 Kowalski PPT Algebra 3 10 Kowalski PPT Analiza 4 11 Nowak IZ Algebra 3 12 Wróbel Chemiczny Algebra 3 Redundancja danych: Pewne dane zapisane są w bazie kilka razy. Jeśli więc Kowalski zmieni wydział, wówczas trzeba to zmienić w kilku miejscach.

Druga postać normalna (2PN) Definicja pełnej zależności funkcyjnej. Niech X i Y będą rozłącznymi zbiorami atrybutów. Mówimy, że Y jest w pełni funkcyjnie zależny od X lub że istnieje pełna zależność funkcyjna z X do Y, jeśli Y jest zależnie funkcyjny od X i nie jest zależny od żadnego właściwego podzbioru X. Definicja 2PN. Schemat relacyjny R=(U,F) jest w 2PN jeśli każdy niekluczowy atrybut jest w pełni funkcyjnie zależny od każdego klucza tego schematu. W związku z tym schemat relacyjny, którego klucz jest jednoargumentowy jest w 2PN.

Sprowadzenie do 2PN - algorytm Dany niech będzie schemat relacyjny: R = (U, F) Jeśli istnieje niepełna zależność funkcyjna: X Schemat R jest podzielony na dwa schematy: AF R ( X, F1) i R2 (( U X ) X, 2) 1 F X U - zbiór wszystkich atrybutów zależnych od X F1 zawiera wszystkie te ZF ze zbioru F+, których atrybuty zawarte są w X+. Podobnie jest dla F2. Jeśli R1 i R2 nie są w 2PN, algorytm jest powtarzany.

Sprowadzenie do 2PN Egzamin NrStud Nazwisko Wydział Przedmiot Ocena 10 Kowalski PPT Algebra 3 10 Kowalski PPT Analiza 4 11 Nowak IZ Algebra 3 12 Wróbel Chemiczny Algebra 3 Niepełna zależność funkcyjna od klucza: NrStud Nazwisko Zgodnie z algorytmem: R bo NrStud, Przedmiot 1 ( X, F1) i R2 (( U X ) X, F 2 ) Nazwisko Mamy: X ={NrStud}, X+ = {NrStud, Nazwisko, Wydział}

Sprowadzenie do 2PN Z relacji Egzamin powstają dwie : Ocena i Student Ocena NrStud Przedmiot Ocena 10 Algebra 3 10 Analiza 4 11 Algebra 3 12 Algebra 3 Student NrStud Nazwisko Wydzial 10 Kowalski PPT 11 Nowak IZ 12 Wróbel Chemiczny Każda z tych relacji jest w 2PN.

Wnioski 2PN Jeśli klucz jest jednoargumentowy, to schemat jest w 2PN. Proces sprowadzania do 2PN nie jest jednoznaczny dla jednego schematu może istnieć wiele równoważnych projekcji w 2PN.

Wykonawca Anomalie występujące w przypadku braku 3PN IdWykon Nazwa IdProj Koszt 10 IBM 20 200000 11 Intel 20 200000 12 Mac 21 400000 13 SAP 22 500000 Zależności funkcyjne: IdWykon Nazwa,IdProj, IdProj Koszt Koszt

Wykonawca Anomalie występujące w przypadku braku 3PN IdWykon Nazwa IdProj Koszt 10 IBM 20 200000 11 Intel 20 200000 12 Mac 21 400000 13 SAP 22 500000 Relacja jest w 2PN, bo występuje klucz jednoargumentowy, ale występuje redundancja i anomalia. Przyczyną jest zależność: IdProj Koszt

Wykonawca Anomalie występujące w przypadku braku 3PN IdWykon Nazwa IdProj Koszt 10 IBM 20 200000 11 Intel 20 200000 12 Mac 21 400000 13 SAP 22 500000 NULL NULL 23 700000 Anomalia dołączania: Aby wprowadzić dane projektu, należałoby mieć wykonawcę tego projektu.

Tranzytywne zależności funkcyjne Definicja. Atrybut A jest tranzytywnie zależny od klucza K w schemacie relacyjnym R = (U, F), jeśli istnieje zbiór atrybutów X nie będący kluczem i taki, że: A X i X AF Oczywiście z zależności tranzytywnej wynika zależność zwykła. Tak więc atrybut A jest zależny od K także w zwykłym sensie. Należność tranzytywną można zobrazować w sposób następujący: K X A

Definicja 3PN Schemat relacyjny R=(U,F) jest w 3PN jeśli jest w 2PN i żaden niekluczowy atrybut nie jest tranzytywnie zależny od żadnego klucza relacji.

Sprowadzenie do 3PN - algorytm Dany niech będzie schemat relacyjny: R = (U, F) Jeśli istnieje tranzytywna zależność funkcyjna: X Schemat R jest podzielony na dwa schematy: R ( X, F1) i R2 (( U X ) X, 2) 1 F AF X U - zbiór wszystkich atrybutów zależnych od X F1 zawiera wszystkie te ZF ze zbioru F+, których atrybuty zawarte są w X+. Podobnie jest dla F2. Jeśli R1 i R2 nie są w 3PN, algorytm jest powtarzany.

Sprowadzenie do 3PN Wykonawca IdWykon Nazwa IdProj Koszt 10 IBM 20 200000 11 Intel 20 200000 12 Mac 21 400000 13 SAP 22 500000 W wyniku działania algorytmu mamy: X = IdProj, X+ = {IdProj, Koszt}

Sprowadzenie do 3PN Z relacji Wykonawca powstają dwie : Projekt i Wykonanie Projekt IdProj Koszt 20 200000 21 400000 22 500000 Wykonanie IdWykon Nazwa IdProj 10 IBM 20 11 Intel 20 12 Mac 21 13 SAP 22 Każda z tych relacji jest w 3PN

PNBC Postać Normalna Boyce a Codda Definicja. Mówimy, że schemat relacyjny R = (U, F) jest w PNBC, jeśli dla każdej nietrywialnej zależności X->A należącej do F, X jest nadkluczem. 1) Nietrywialna oznacza, że A nie należy do X 2) Nadklucz oznacza, że X zawiera klucz

Sprowadzenie do PNBC - algorytm Dany niech będzie schemat relacyjny: R = (U, F) Jeśli istnieje nietrywialna zależność funkcyjna: X AF taka, że X nie jest nadkluczem, wówczas schemat R jest podzielony na dwa schematy: X U R ( X, F1) i R2 (( U X ) X, 2) 1 F - zbiór wszystkich atrybutów zależnych od X F1 zawiera wszystkie te ZF ze zbioru F+, których atrybuty zawarte są w X+. Podobnie jest dla F2. Jeśli R1 i R2 nie są w PNBC, algorytm jest powtarzany.

PNBC - Przykład Kody Ulica Miasto Kod Kołłątaja Poznań 80-288 Rydla Kraków 12-333 Rydla Poznań 80-900 Słoweńska Warszawa 22-111 Zależności funkcyjne: Miasto, Ulica Kod Miasto Kod Klucze: {Miasto, Ulica} {Ulica, Kod}

PNBC - Przykład Kody Ulica Miasto Kod Kołłątaja Poznań 80-288 Rydla Kraków 12-333 Rydla Poznań 80-900 Słoweńska Warszawa 22-111 Rozpatrzmy klucz: {Miasto, Ulica} Występuje 3PN. Nie zachodzi PNBC, gdyż: Kod Miasto Zależność jest nietrywialna, a atrybut Kod nie jest nadkluczem.

Sprowadzenie do PNBC Z relacji Wykonawca powstają dwie : Kod1 i Kod2 Kod1 Miasto Kod Poznań 80-288 Kraków 12-333 Poznań 80-900 Warszawa 22-111 Kod2 Ulica Kod Kołłątaja 80-288 Rydla 12-333 Rydla 80-900 Słoweńska 22-111

Podsumowanie Decyzja czy pozostawić relację w 3PN czy w PNBC powinna być przemyślana. Praktyka pokazuje, ze 3PN jest najlepszym rozwiązaniem Projektowanie obiektowe z reguły od razu daje w rezultacie postać 3PN W niektórych przypadkach korzystniejsze jest pozostawienie relacji w niższych postaciach (1PN lub 2PN).

Dziękuję