Bazy Danych i Usługi Sieciowe

Podobne dokumenty
Bazy danych i usługi sieciowe

Zależności funkcyjne c.d.

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe

1 Wstęp Motywacja Modele baz danych... 6

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

Technologie baz danych

Pojęcie zależności funkcyjnej

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

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

Cel normalizacji. Tadeusz Pankowski

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

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

Normalizacja. Pojęcie klucza. Cel normalizacji

Bazy danych i usługi sieciowe

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

Systemy baz danych. Notatki z wykładu

Zależności funkcyjne pierwotne i wtórne

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Projektowanie Systemów Informacyjnych

Projektowanie relacyjnych baz danych

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

Baza danych zbiór danych

Bazy danych. Andrzej Łachwa, UJ, /15

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

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

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

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

Normalizacja relacyjnych baz danych. Sebastian Ernst

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

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

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

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

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

Pierwsza postać normalna

Normalizacja baz danych

Bazy danych 3. Normalizacja baz danych

Normalizacja schematów logicznych relacji

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

1 Wstęp do modelu relacyjnego

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

Zależności funkcyjne

Bazy Danych i Usługi Sieciowe

Model relacyjny. Wykład II

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

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

Wykład 2. Relacyjny model danych

Projektowanie baz danych

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

Pierwsza postać normalna

Technologie baz danych

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

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

Relacyjny model danych

Bazy danych. Andrzej Łachwa, UJ, /15

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

Postać normalna Boyce-Codd (BCNF)

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

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

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

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

Bazy danych Projektowanie i implementacja relacyjnych baz danych

Plan wykładu: Operacje relacji: suma, przekrój, różnica, złączenia proste, iloczyn kartezjański, złączenia teta.

Konstruowanie Baz Danych Wprowadzenie do projektowania. Normalizacja

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

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

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

Programowanie i projektowanie obiektowe

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

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

Związki pomiędzy tabelami

Programowanie i projektowanie obiektowe

Technologia informacyjna

Bazy danych. Plan wykładu. Podstawy modeli relacyjnych. Diagramy ER. Wykład 3: Relacyjny model danych. SQL

Model relacyjny. Wykład II

Bazy danych i usługi sieciowe

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk

Bazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B

Model relacyjny bazy danych

DEFINICJA. Definicja 1 Niech A i B będą zbiorami. Relacja R pomiędzy A i B jest podzbiorem iloczynu kartezjańskiego tych zbiorów, R A B.

Autor: Joanna Karwowska

Podstawowy kurs z systemów baz danych / Jeffrey D. Ullman, Jennifer Widom. - wyd Gliwice, cop Spis treści.

WPROWADZENIE DO BAZ DANYCH

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

Teoretyczne podstawy informatyki

Normalizacja relacji

Teoretyczne podstawy informatyki

RBD Relacyjne Bazy Danych

Tadeusz Pankowski Definicja. Definicja

Przykłady normalizacji

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

Szczegółowy program kursów szkoły programowania Halpress

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

Baza danych. Baza danych to:

Bazy danych. Plan wykáadu. Zale*noci funkcyjne. Wykáad 4: Relacyjny model danych - zale*noci funkcyjne. A B

Zbiory, relacje i funkcje

Bazy Danych 2008 Część 1 Egzamin Pisemny

Literatura. Bazy danych s.1-1

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

Transkrypt:

Bazy Danych i Usługi Sieciowe Model relacyjny Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 1 / 40

Iloczyn kartezjański Iloczyn kartezjański zbiorów A, B Zbiór wszystkich par uporządkowanych (a, b), t. że a A i b B. (a, b) A B a A b B Iloczyn kartezjański zbiorów A 1, A 2,..., A n Zbiór wszystkich n-tek uporządkowanych (a 1, a 2,..., a n ), t. że a i A i. (a 1, a 2,..., a n ) A 1 A 2... A n 0<i n a i A i P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 2 / 40

Relacje Relacja to podzbiór iloczynu kartezjańskiego Dwuargumentowa R A B n-argumentowa R A 1 A 2... A n Reprezentacja jako dwuwymiarowa tabela P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 3 / 40

Relacje Relacja to podzbiór iloczynu kartezjańskiego Dwuargumentowa R A B n-argumentowa R A 1 A 2... A n Reprezentacja jako dwuwymiarowa tabela Relacja Filmy tytuł rok długość typfilmu Gwiezdne Wojny 1977 124 kolor Potężne Kaczory 1991 104 kolor Świat Wayne a 1992 95 kolor P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 3 / 40

Relacje c.d. Atrybuty tytuł, rok, długość, typfilmu Schemat Filmy(tytuł, rok, długość, typfilmu) Dziedziny tytuł tekst rok, długość liczby całkowite typfilmu {kolor, czarno-biały} P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 4 / 40

Schemat Nazwy zbiorów w nagłówkach relacji to atrybuty Nazwa relacji i zbiór uporządkowany jej atrybutów tworzą schemat relacji Projekt relacyjnej bazy danych zawiera zazwyczaj kilka relacji Zbiór schematów relacji projektu nazywamy schematem bazy danych Wiersze relacji (poza nagłówkowym) nazywane są krotkami P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 5 / 40

Dziedziny (typy danych) Każda składowa relacji ma swój typ danych Dostępne typy danych zależą od implementacji DBMS Najczęściej używane to liczba całkowita liczba rzeczywista znak łańcuch znaków data boolean P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 6 / 40

Schemat związków encji tytuł rok nazwisko adres Filmy Gra-w Gwiazdy długość typtaśmy Posiada Studia nazwa adres P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 7 / 40

Schemat relacyjny Zbiory encji relacje Filmy(tytuł, rok, długość, typfilmu) Gwiazdy(nazwisko, adres) Studia(nazwa, adres) Związki relacje Posiada(tytuł, rok, nazwastudia) Gra-w(tytuł, rok, nazwiskogwiazdy) P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 8 / 40

Relacje odpowiadające związkom Posiada wiele do jeden Gra-w wiele do wiele tytuł rok nazwastudia Gwiezdne Wojny 1977 Fox Potężne Kaczory 1991 Disney Świat Wayne a 1992 Paramount tytuł rok nazwiskogwiazdy Gwiezdne Wojny 1977 Carrie Fisher Gwiezdne Wojny 1977 Mark Hamill Gwiezdne Wojny 1977 Harrison Ford Potężne Kaczory 1991 Emilio Estevez Świat Wayne a 1992 Dana Carvey Świat Wayne a 1992 Mike Meyers P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 9 / 40

Relacje odpowiadające związkom c.d. Gwiazdy Kontrakty Filmy Studio gwiazdy Studio producenta Studia Kontrakty(nazwiskoGwiazdy, tytuł, rok, studiogwiazdy, studioproducenta) P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 10 / 40

Łączenie relacji Filmy i Posiada Filmy(tytuł, rok, długość, typfilmu, nazwastudia) tytuł rok długość typfilmu nazwastudia Gwiezdne Wojny 1977 124 kolor Fox Potężne Kaczory 1991 104 kolor Disney Świat Wayne a 1992 95 kolor Paramount P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 11 / 40

Łączenie relacji Filmy i Posiada Filmy(tytuł, rok, długość, typfilmu, nazwastudia) tytuł rok długość typfilmu nazwastudia Gwiezdne Wojny 1977 124 kolor Fox Potężne Kaczory 1991 104 kolor Disney Świat Wayne a 1992 95 kolor Paramount Dołączenie Gra-w to zły pomysł Filmy(tytuł, rok, długość, typfilmu, nazwastudia, nazwiskogwiazdy) tytuł rok długość typfilmu nazwastudia nazwiskogwiazdy Gwiezdne Wojny 1977 124 kolor Fox Carrie Fisher Gwiezdne Wojny 1977 124 kolor Fox Mark Hamill Gwiezdne Wojny 1977 124 kolor Fox Harrison Ford Potężne Kaczory 1991 104 kolor Disney Emilio Estevez Świat Wayne a 1992 95 kolor Paramount Dana Carvey Świat Wayne a 1992 95 kolor Paramount Mike Meyers P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 11 / 40

Słabe encje numer nazwa adres Zespoły Jednostka-w Studia Studia(nazwa, adres, rok) Zespoły(numer, nazwastudia) Jednostka-w(numer, nazwastudia, nazwa) P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 12 / 40

Słabe encje numer nazwa adres Zespoły Jednostka-w Studia Studia(nazwa, adres, rok) Zespoły(numer, nazwastudia) Jednostka-w(numer, nazwastudia, nazwa) nazwastudia = nazwa P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 12 / 40

Podklasy tytuł rok typtaśmy Filmy długość Głosy isa isa broń Kreskówki Kryminały P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 13 / 40

Podklasy c.d. Podejście E/R Filmy(tytuł, rok, długość, typfilmu) Kryminały(tytuł, rok, broń) Kreskówki(tytuł, rok) P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 14 / 40

Podklasy c.d. Podejście E/R Filmy(tytuł, rok, długość, typfilmu) Kryminały(tytuł, rok, broń) Kreskówki(tytuł, rok) Podejście Obiektowe Filmy(tytuł, rok, długość, typfilmu) FilmyKres(tytuł, rok, długość, typfilmu) FilmyKrym(tytuł, rok, długość, typfilmu, broń) FilmyKrymKres(tytuł, rok, długość, typfilmu, broń) P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 14 / 40

Podklasy c.d. Podejście E/R Filmy(tytuł, rok, długość, typfilmu) Kryminały(tytuł, rok, broń) Kreskówki(tytuł, rok) Podejście Obiektowe Filmy(tytuł, rok, długość, typfilmu) FilmyKres(tytuł, rok, długość, typfilmu) FilmyKrym(tytuł, rok, długość, typfilmu, broń) FilmyKrymKres(tytuł, rok, długość, typfilmu, broń) Podejście z wartością NULL Filmy(tytuł, rok, długość, typfilmu, broń) Atrybut broń może przyjmować wartość NULL. Relacja Głosy wyznacza bycie kreskówką. P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 14 / 40

Zależności funkcyjne Zależność funkcyjna Jeśli dwie krotki relacji R są zgodne dla atrybutów A 1, A 2,..., A n, to muszą być zgodne w pewnym innym atrybucie B Notacja Wiele zależności funkcyjnych A 1 A 2... A n B A 1 A 2... A n B 1... A 1 A 2... A n B m zapisujemy skrótowo jako A 1 A 2... A n B 1... B m P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 15 / 40

Zależności funkcyjne c.d. tytuł rok długość typfilmu nazwastudia nazwiskogwiazdy Gwiezdne Wojny 1977 124 kolor Fox Carrie Fisher Gwiezdne Wojny 1977 124 kolor Fox Mark Hamill Gwiezdne Wojny 1977 124 kolor Fox Harrison Ford Potężne Kaczory 1991 104 kolor Disney Emilio Estevez Świat Wayne a 1992 95 kolor Paramount Dana Carvey Świat Wayne a 1992 95 kolor Paramount Mike Meyers tytuł rok długość typfilmu nazwastudia Ta zależność nie zachodzi tytuł rok nazwiskogwiazdy P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 16 / 40

Klucze Atrybut lub zbiór atrybutów {A 1, A 2,..., A n } tworzy klucz relacji R jeśli 1 Wszystkie pozostałe atrybuty relacji są funkcyjnie zależne od tych atrybutów, 2 Nie istnieje podzbiór właściwy zbioru {A 1, A 2,..., A n }, od którego pozostałe atrybuty relacji R są zależne funkcyjnie. Jeżeli klucz składa się z jednego atrybutu A, to mówimy, że A jest kluczem. Dowolny zbiór atrybutów, którego podzbiorem jest klucz nazywany jest nadkluczem. P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 17 / 40

Klucze c.d. Schemat relacji może zawierać kilka kluczy. W DBMS wyróżnia się jeden klucz jako podstawowy (PRIMARY KEY). Atrybuty należące do jakiegokolwiek klucza nazwywa się kluczowymi lub podstawowymi. Atrybuty nie należące do żadnego klucza nazywa się niekluczowymi lub wtórnymi. P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 18 / 40

Klucze c.d. tytuł rok długość typfilmu nazwastudia nazwiskogwiazdy Gwiezdne Wojny 1977 124 kolor Fox Carrie Fisher Gwiezdne Wojny 1977 124 kolor Fox Mark Hamill Gwiezdne Wojny 1977 124 kolor Fox Harrison Ford Potężne Kaczory 1991 104 kolor Disney Emilio Estevez Świat Wayne a 1992 95 kolor Paramount Dana Carvey Świat Wayne a 1992 95 kolor Paramount Mike Meyers P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 19 / 40

Klucze c.d. tytuł rok długość typfilmu nazwastudia nazwiskogwiazdy Gwiezdne Wojny 1977 124 kolor Fox Carrie Fisher Gwiezdne Wojny 1977 124 kolor Fox Mark Hamill Gwiezdne Wojny 1977 124 kolor Fox Harrison Ford Potężne Kaczory 1991 104 kolor Disney Emilio Estevez Świat Wayne a 1992 95 kolor Paramount Dana Carvey Świat Wayne a 1992 95 kolor Paramount Mike Meyers Klucz? tytuł rok P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 19 / 40

Klucze c.d. tytuł rok długość typfilmu nazwastudia nazwiskogwiazdy Gwiezdne Wojny 1977 124 kolor Fox Carrie Fisher Gwiezdne Wojny 1977 124 kolor Fox Mark Hamill Gwiezdne Wojny 1977 124 kolor Fox Harrison Ford Potężne Kaczory 1991 104 kolor Disney Emilio Estevez Świat Wayne a 1992 95 kolor Paramount Dana Carvey Świat Wayne a 1992 95 kolor Paramount Mike Meyers Klucz tytuł rok nazwiskogwiazdy P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 19 / 40

Wnioskowanie z zależności funkcyjnych Przykład przechodniość Jeżeli istnieją zależności funkcyjne A B i B C, to istnieje zależność funkcyjna A C. Dowód Weźmy dwie krotki: t = (a, b 1, c 1 ), u = (a, b 2, c 2 ) A B = b 1 = b 2 B C = c 1 = c 2 Każde dwie krotki zgodne dla A są zgodne dla C. A C P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 20 / 40

Równoważność i wynikanie Dwa zbiory zależności funkcyjnych S i T są równoważne, jeśli zbiór instancji relacji spełniających S jest równy zbiorowi instancji spełniających T. Zbiór zależności funkcyjnych S wynika ze zbioru T, jeśli każda instancja spełniająca wszystkie zależności funkcyjne z T spełnia także zależności z S. Przypomnienie Zbiór zależności funkcyjnych stanowi część schematu bazy danych. P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 21 / 40

Reguły podziału i łączenia Reguła podziału Zależność funkcyjna A 1 A 2... A n B 1 B 2... B m można zastąpić zbiorem zależności funkcyjnych A 1 A 2... A n B i, i = 1, 2,..., m. Reguła łączenia Zbiór zależności funkcyjnych A 1 A 2... A n B i, i = 1, 2,..., m można zastąpić pojedynczą zależnością funkcyjną A 1 A 2... A n B 1 B 2... B m. Przykład tytuł rok długość typfilmu tytuł rok długość typfilmu tytuł rok nazwastudia = tytuł rok długość typfilmu nazwastudia tytuł rok długość typfilmu... P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 22 / 40

Reguły podziału i łączenia Reguła podziału Zależność funkcyjna A 1 A 2... A n B 1 B 2... B m można zastąpić zbiorem zależności funkcyjnych A 1 A 2... A n B i, i = 1, 2,..., m. Reguła łączenia Zbiór zależności funkcyjnych A 1 A 2... A n B i, i = 1, 2,..., m można zastąpić pojedynczą zależnością funkcyjną A 1 A 2... A n B 1 B 2... B m. Przykład tytuł rok długość typfilmu tytuł rok długość typfilmu tytuł rok nazwastudia = tytuł rok długość typfilmu nazwastudia tytuł rok długość typfilmu... Ta implikacja nie zachodzi tytuł rok długość = tytuł długość rok długość P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 22 / 40

Trywialne zależności funkcyjne Zależność funkcyjna A 1 A 2... A n B 1 B 2... B m jest trywialna, jeśli zbiór atrybutów typu B jest podzbiorem zbioru atrybutów typu A; nietrywialna, jeśli co najmniej jeden z atrybutów typu B nie znajduje się sie pośród atrybutów typu A; całkowicie nietrywialna, jeśli żaden z atrybutów typu B nie znajduje sie pośród atrybutów typu A. Reguła zależności trywialnych Zależność funkcyjna A 1 A 2... A n B 1 B 2... B m jest równoważna zależności A 1 A 2... A n C 1 C 2... C k, gdzie C są tymi elementami z B, które nie należą do A. P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 23 / 40

Trywialne zależności funkcyjne c.d. Przykład tytuł rok tytuł rok trywialna tytuł rok długość rok nietrywialna tytuł rok długość typfilmu całkowicie nietrywialna P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 24 / 40

Domknięcie zbioru atrybutów Domknięciem zbioru atrybutów {A 1, A 2,..., A n } nad zbiorem zależności funkcyjnych S nazywamy taki zbiór atrybutów B, że jeżeli pewna relacja R spełnia wszystkie zależności ze zbioru S, to spełnia także zależność A 1 A 2... A n B. Notacja {A 1, A 2,..., A n } + P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 25 / 40

Algorytm wyznaczania domknięcia 1 X := {A 1, A 2,..., A n } 2 Znajdujemy wszystkie zależności funkcyjne postaci B 1 B 2... B m C, dla których B 1, B 2,..., B m należą do zbioru atrubutów X, a C nie należy. Wówczas dołączmy C do X X := X {C} 3 Powtarzamy krok 2 tak długo, jak długo nie będzie można dołączyć do X żadnego nowego atrybutu. P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 26 / 40

Algorytm wyznaczania domknięcia Przykład Relacja: R(A, B, C, D, E, F ) Zależności funkcyjne: S = {AB C, BC AD, D E, CF B} Obliczymy {A, B} + : 1 X := {A, B} P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 27 / 40

Algorytm wyznaczania domknięcia Przykład Relacja: R(A, B, C, D, E, F ) Zależności funkcyjne: S = {AB C, BC AD, D E, CF B} Obliczymy {A, B} + : 1 X := {A, B} 2 A, B X, AB C, więc X := X {C} = {A, B, C} P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 27 / 40

Algorytm wyznaczania domknięcia Przykład Relacja: R(A, B, C, D, E, F ) Zależności funkcyjne: S = {AB C, BC AD, D E, CF B} Obliczymy {A, B} + : 1 X := {A, B} 2 A, B X, AB C, więc X := X {C} = {A, B, C} 3 B, C X, BC AD, więc X := X {D} = {A, B, C, D} P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 27 / 40

Algorytm wyznaczania domknięcia Przykład Relacja: R(A, B, C, D, E, F ) Zależności funkcyjne: S = {AB C, BC AD, D E, CF B} Obliczymy {A, B} + : 1 X := {A, B} 2 A, B X, AB C, więc X := X {C} = {A, B, C} 3 B, C X, BC AD, więc X := X {D} = {A, B, C, D} 4 D X, D E, więc X := X {E} = {A, B, C, D, E} P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 27 / 40

Algorytm wyznaczania domknięcia Przykład Relacja: R(A, B, C, D, E, F ) Zależności funkcyjne: S = {AB C, BC AD, D E, CF B} Obliczymy {A, B} + : 1 X := {A, B} 2 A, B X, AB C, więc X := X {C} = {A, B, C} 3 B, C X, BC AD, więc X := X {D} = {A, B, C, D} 4 D X, D E, więc X := X {E} = {A, B, C, D, E} P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 27 / 40

Algorytm wyznaczania domknięcia Przykład Relacja: R(A, B, C, D, E, F ) Zależności funkcyjne: S = {AB C, BC AD, D E, CF B} Obliczymy {A, B} + : 1 X := {A, B} 2 A, B X, AB C, więc X := X {C} = {A, B, C} 3 B, C X, BC AD, więc X := X {D} = {A, B, C, D} 4 D X, D E, więc X := X {E} = {A, B, C, D, E} Lewa strona CF B nie znajdzie się w X. P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 27 / 40

Algorytm wyznaczania domknięcia Przykład Relacja: R(A, B, C, D, E, F ) Zależności funkcyjne: S = {AB C, BC AD, D E, CF B} Obliczymy {A, B} + : 1 X := {A, B} 2 A, B X, AB C, więc X := X {C} = {A, B, C} 3 B, C X, BC AD, więc X := X {D} = {A, B, C, D} 4 D X, D E, więc X := X {E} = {A, B, C, D, E} Lewa strona CF B nie znajdzie się w X. {A, B} + = {A, B, C, D, E} P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 27 / 40

Rzutowanie zależności funkcyjnych Dane Relacja: R(A, B, C, D) Zależności funkcyjne: S = {A B, B C, C D} Zadanie Wyeliminować atrybut B. Wynik Relacja: R(A, C, D) Zależności funkcyjne: S = {A C, C D} P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 28 / 40

Anomalie Filmy tytuł rok długość typfilmu nazwastudia nazwiskogwiazdy Gwiezdne Wojny 1977 124 kolor Fox Carrie Fisher Gwiezdne Wojny 1977 124 kolor Fox Mark Hamill Gwiezdne Wojny 1977 124 kolor Fox Harrison Ford Potężne Kaczory 1991 104 kolor Disney Emilio Estevez Świat Wayne a 1992 95 kolor Paramount Dana Carvey Świat Wayne a 1992 95 kolor Paramount Mike Meyers Redundancja Anomalie przy aktualizacji Anomalie przy usuwaniu Anomalie przy wstawianiu P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 29 / 40

Normalizacja Wyeliminowanie redundancji Wyeliminowanie anomalii Dekompozycja - rozkład relacji na mniejsze, które nie mają redundancji i anomalii Potrzebna informacja o zależnościach funkcyjnych P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 30 / 40

Własności dla normalizacji Zachowanie atrybutów Zachowanie informacji Zachowanie zależności funkcyjnych w relacjach po normalizacji P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 31 / 40

Pierwsza postać normalna 1NF Schemat relacji R znajduje się w pierwszej postaci normalnej (1NF), jeżeli wartości atrybutów są atomowe (niepodzielne). Przykład tytuł rok długość typfilmu nazwastudia gwiazdy Gwiezdne Wojny 1977 124 kolor Fox Carrie Fisher, Mark Hamill, Harrison Ford Potężne Kaczory 1991 104 kolor Disney Emilio Estevez Świat Wayne a 1992 95 kolor Paramount Dana Carvey, Mike Meyers Filmy(tytuł, rok, długość, nazwastudia, Gwiazdy(nazwisko)) P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 32 / 40

Dekompozycja do 1NF Algorytm Załóżmy, że relacja R zawiera relację zagnieżdżoną P Tworzymy relację R dla relacji zewnętrznej R z atrybutów nie zawierających atrybutu złożonego zawierającego relację P. Tworzymy relację P dla relacji wewnętrznej, do której dodajemy klucz relacji zewnętrznej. Kluczem nowej relacji P jest suma klucza relacji zewnętrznej R i klucza relacji wewnętrznej P. Przykład R: Filmy(tytuł, rok, długość, nazwastudia, Gwiazdy(nazwisko)) P: Gwiazdy(nazwisko) R : Filmy(tytuł, rok, długość, nazwastudia) P : Gwiazdy(tytuł, rok, nazwisko) P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 33 / 40

Dekompozycja do 1NF c.d. Filmy przed normalizacją tytuł rok długość typfilmu nazwastudia gwiazdy Gwiezdne Wojny 1977 124 kolor Fox Carrie Fisher, Mark Hamill, Harrison Ford Potężne Kaczory 1991 104 kolor Disney Emilio Estevez Świat Wayne a 1992 95 kolor Paramount Dana Carvey, Mike Meyers Po normalizacji Filmy tytuł rok długość typfilmu nazwastudia Gwiezdne Wojny 1977 124 kolor Fox Potężne Kaczory 1991 104 kolor Disney Świat Wayne a 1992 95 kolor Paramount Gwiazdy tytuł rok nazwiskogwiazdy Gwiezdne Wojny 1977 Carrie Fisher Gwiezdne Wojny 1977 Mark Hamill Gwiezdne Wojny 1977 Harrison Ford Potężne Kaczory 1991 Emilio Estevez Świat Wayne a 1992 Dana Carvey Świat Wayne a 1992 Mike Meyers P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 34 / 40

Częściowe zależności funkcyjne Zbiór atrybutów B jest w pełni funkcyjnie zależny od zbioru atrybutów A, jeżeli A B i nie istnieje podzbiór właściwy A A taki, że A B. Zbiór atrybutów B jest częsciowo funkcyjnie zależny od zbioru atrybutów A, jeżeli A B i istnieje podzbiór właściwy A A taki, że A B. P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 35 / 40

Druga postać normalna - 2NF 2NF Schemat relacji R znajduje się w drugiej postaci normalnej (2NF), jeżeli żaden atrybut niekluczowy tej relacji nie jest częściowo zależny funkcyjnie od żadnego z kluczy relacji R. Filmy tytuł rok długość typfilmu nazwastudia nazwiskogwiazdy adresgwiazdy Gwiezdne Wojny 1977 124 kolor Fox Carrie Fisher Malibu Gwiezdne Wojny 1977 124 kolor Fox Mark Hamill Brentwood Gwiezdne Wojny 1977 124 kolor Fox Harrison Ford Hollywood Potężne Kaczory 1991 104 kolor Disney Emilio Estevez West Hollywood Świat Wayne a 1992 95 kolor Paramount Dana Carvey Beverly Hills Świat Wayne a 1992 95 kolor Paramount Mike Meyers Carlsbad Zależności funkcyjne tytuł rok nazwiskogwiazdy długość typfilmu nazwastudia adresgwiazdy tytuł rok długość typfilmu nazwastudia nazwiskogwiazdy adresgwiazdy P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 36 / 40

Zależności przechodnie Zbiór atrybutów B jest przechodnio funkcyjnie zależny od zbioru atrybutów A, jeżeli A B i istnieje zbiór atrybutów C, nie będący podzbiorem żadnego klucza, taki, że A C i C B. Zależność fukncyjna A B jest zależnością przechodnią jeżeli istnieje podzbiór atrybutów C taki, że zachodzi A C, C B i nie zachodzi C A lub B C. P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 37 / 40

Trzecia postać normalna - 3NF 3NF Schemat relacji R znajduje się w trzeciej postaci normalnej (3NF), jeżeli dla każdej zależności funkcyjnej {A 1,..., A n } B zbiór {A 1,..., A n } jest nadkluczem lub B jest elementem pewnego klucza. StudiaFilmowe tytuł rok długość typfilmu nazwastudia adresstudia Gwiezdne Wojny 1977 124 kolor Fox Hollywood Potężne Kaczory 1991 104 kolor Disney Buena Vista Świat Wayne a 1992 95 kolor Paramount Hollywood Zależności funkcyjne tytuł rok długość typfilmu nazwastudia adresstudia nazwastudia adresstudia P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 38 / 40

Postać normalna Boyce a-codda - BCNF BCNF Schemat relacji R znajduje się w postaci normalnej Boyce a-codda (BCNF), jeżeli dla każdej zależności funkcyjnej {A 1,..., A n } B zbiór {A 1,..., A n } jest nadkluczem. Warunek BCNF jest dostateczny dla 3NF, ale nie konieczny. BCNF = 3NF P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 39 / 40

Różnica pomiędzy BCNF a 3NF Projekcje kino miasto tytuł Polonia Warszawa Gwiezdne Wojny Moskwa Warszawa Potężne Kaczory Dom Kultury Kolejarza Stokrotka Kogutkowo Górne Gwiezdne Wojny Zależności funkcyjne kino miasto tytuł miasto kino Klucze (tytuł, miasto) (kino, tytuł) 3NF, ale nie BCNF Dekompozycja do BCNF Kina(kino, miasto) Projekcje(kino, tytuł) Zależność tytuł miasto kino nie jest zachowana. P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2011 40 / 40