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.

Pojęcie zależności funkcyjnej

Bazy danych i usługi sieciowe

Technologie baz danych

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

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

Systemy baz danych. Notatki z wykładu

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

Normalizacja. Pojęcie klucza. Cel normalizacji

Cel normalizacji. Tadeusz Pankowski

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

Zależności funkcyjne pierwotne i wtórne

WYKŁAD 1. Wprowadzenie do problematyki baz danych

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

Projektowanie relacyjnych baz danych

Bazy danych i usługi sieciowe

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

Projektowanie Systemów Informacyjnych

Bazy danych. Andrzej Łachwa, UJ, /15

Normalizacja relacyjnych baz danych. Sebastian Ernst

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

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

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

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

Normalizacja schematów logicznych relacji

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

Baza danych zbiór danych

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

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

Normalizacja baz danych

Zależności funkcyjne

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

Pierwsza postać normalna

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

Bazy danych Projektowanie i implementacja relacyjnych baz danych

1 Wstęp do modelu relacyjnego

Postać normalna Boyce-Codd (BCNF)

Pierwsza postać normalna

Projektowanie baz danych

Bazy danych 3. Normalizacja baz danych

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

Bazy Danych i Usługi Sieciowe

Relacyjny model danych

Bazy danych. Andrzej Łachwa, UJ, /15

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

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

Model relacyjny. Wykład II

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

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

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

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

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

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

Wykład 2. Relacyjny model danych

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

Technologie baz danych

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

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

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

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

Tadeusz Pankowski Definicja. Definicja

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

Technologia informacyjna

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

Związki pomiędzy tabelami

Baza danych. Baza danych to:

Zbiory, relacje i funkcje

Konstruowanie Baz Danych Wprowadzenie do projektowania. Normalizacja

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

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

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

Programowanie i projektowanie obiektowe

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

Programowanie i projektowanie obiektowe

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

Autor: Joanna Karwowska

RBD Relacyjne Bazy Danych

Przykłady normalizacji

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.

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

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

Model relacyjny. Wykład II

1 Przygotował: mgr inż. Maciej Lasota

Teoretyczne podstawy informatyki

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

WPROWADZENIE DO BAZ DANYCH

BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR

Bazy danych w sterowaniu

Bazy danych i usługi sieciowe

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

Literatura. Bazy danych s.1-1

Teoretyczne podstawy informatyki

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

Transkrypt:

Bazy danych i usługi sieciowe Model relacyjny Paweł Daniluk Wydział Fizyki Jesień 2016 P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2016 1 / 50

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ń 2016 2 / 50

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ń 2016 3 / 50

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ń 2016 3 / 50

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ń 2016 4 / 50

Schemat Nazwy zbiorów w iloczynie kartezjańskim 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 tabeli (poza nagłówkowym) elementy relacji nazywane są krotkami P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2016 5 / 50

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ń 2016 6 / 50

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ń 2016 7 / 50

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ń 2016 8 / 50

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ń 2016 9 / 50

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ń 2016 10 / 50

Łą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ń 2016 11 / 50

Łą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ń 2016 11 / 50

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ń 2016 12 / 50

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ń 2016 12 / 50

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ń 2016 13 / 50

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ń 2016 14 / 50

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ń 2016 14 / 50

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ń 2016 14 / 50

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ń 2016 15 / 50

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ń 2016 16 / 50

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ń 2016 17 / 50

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ń 2016 18 / 50

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ń 2016 19 / 50

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ń 2016 19 / 50

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ń 2016 19 / 50

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ń 2016 20 / 50

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ń 2016 21 / 50

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ść tytuł rok typfilmu tytuł rok nazwastudia = tytuł rok długość typfilmu nazwastudia tytuł rok długość typfilmu... P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2016 22 / 50

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ść tytuł rok 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ń 2016 22 / 50

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ń 2016 23 / 50

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ń 2016 24 / 50

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ń 2016 25 / 50

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ń 2016 26 / 50

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ń 2016 27 / 50

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ń 2016 27 / 50

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ń 2016 27 / 50

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ń 2016 27 / 50

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ń 2016 27 / 50

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ń 2016 27 / 50

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ń 2016 27 / 50

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ń 2016 28 / 50

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ń 2016 29 / 50

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ń 2016 30 / 50

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ń 2016 31 / 50

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ń 2016 32 / 50

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ń 2016 33 / 50

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ń 2016 34 / 50

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ęściowo 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ń 2016 35 / 50

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ń 2016 36 / 50

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ń 2016 37 / 50

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ń 2016 38 / 50

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ń 2016 39 / 50

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ń 2016 40 / 50

Czwarta postać normalna - 4NF Gwiazdy nazwisko ulica miasto tytuł rok Carrie Fisher 123 Maple St. Hollywood Gwiezdne Wojny 1977 Carrie Fisher 5 Locus Ln. Malibu Gwiezdne Wojny 1977 Carrie Fisher 123 Maple St. Hollywood Imperium Kontratakuje 1980 Carrie Fisher 5 Locus Ln. Malibu Imperium Kontratakuje 1980 Carrie Fisher 123 Maple St. Hollywood Powrót Jedi 1983 Carrie Fisher 5 Locus Ln. Malibu Powrót Jedi 1983 Nie ma nietrywialnych zależności funkcyjnych. Jest redundancja. P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2016 41 / 50

Zależności wielowartościowe (ang. multivalued dependency) Definicja Zależność wielowartościowa A 1 A 2... A n B 1 B 2... B m jest spełniona w relacji R, jeżeli dla dowolnych ustalonych wartości atrybutów A zbiór wartości atrybutów B nie zależy od wartości atrybutów spoza A i B. Właściwość Dla każdej pary krotek t i u, które mają te same wartości A istnieje krotka v, której składowe mają wartości równe: wartościom atrybutów A w krotkach t i u wartościom atrybutów B krotki t wartościom atrybutów spoza A i B krotki u W relacji Gwiazdy nazwisko ulica, miasto nazwisko tytuł, rok P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2016 42 / 50

Zależności wielowartościowe (ang. multivalued dependency) c.d. Reguła zależności trywialnych Zależność wielowartościowa 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. Reguła przechodniości Jeżeli zachodzi zależność A 1 A 2... A n B 1 B 2... B m oraz całkowicie nietrywialna zależność B 1 B 2... B m C 1 C 2... C k, to zachodzi również zależność A 1 A 2... A n C 1 C 2... C k. Zależność funkcyjna jest zależnością wielowartościową Zależność funkcyjna A 1 A 2... A n B 1 B 2... B m pociąga za sobą zależność wielowartościową A 1 A 2... A n B 1 B 2... B m. P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2016 43 / 50

Zależności wielowartościowe (ang. multivalued dependency) c.d. Nie ma reguły podziału Z nazwisko ulica, miasto nie wynika nazwisko ulica. Reguła dopełnienia Jeżeli zachodzi zależność A 1 A 2... A n B 1 B 2... B m, to zachodzi również zależność A 1 A 2... A n C 1 C 2... C k, gdzie atrybuty typu C są wszystkimi atrybutami R, które nie są typu A ani B. Zależność trywialna Zależność A 1 A 2... A n B 1 B 2... B m jest trywialna, jeżeli wszystkie atrybuty typu B są również typu A, albo wszystkie atrybuty R są typu A lub B. P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2016 44 / 50

Czwarta postać normalna - 4NF 4NF Schemat relacji R znajduje się w czwartej postaci normalnej (4NF), jeżeli dla każdej nietrywialnej zależności wielowartościowej A 1 A 2... A n B 1 B 2... B m zbiór {A 1,..., A n } jest nadkluczem. Gwiazdy nazwisko ulica miasto tytuł rok Carrie Fisher 123 Maple St. Hollywood Gwiezdne Wojny 1977 Carrie Fisher 5 Locus Ln. Malibu Gwiezdne Wojny 1977 Carrie Fisher 123 Maple St. Hollywood Imperium Kontratakuje 1980 Carrie Fisher 5 Locus Ln. Malibu Imperium Kontratakuje 1980 Carrie Fisher 123 Maple St. Hollywood Powrót Jedi 1983 Carrie Fisher 5 Locus Ln. Malibu Powrót Jedi 1983 Klucz: nazwisko, ulica, miasto, tytuł, rok nazwisko ulica, miasto nazwisko tytuł, rok P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2016 45 / 50

Dekompozycja relacji Dekomponujemy relację R(A 1, A 2,..., A n ) na dwie relacje S(B 1, B 2,..., B m ) i T (C 1, C 2,..., C k ) gdzie: {A 1, A 2,..., A n } = {B 1, B 2,..., B m } {C 1, C 2,..., C k } 1 Schematy relacji S(B 1, B 2,..., B m ) i T (C 1, C 2,..., C k ) 2 Krotki powstają przez rzutowanie 3 Zbiory zależności funkcyjnych relacji S i T otrzymujemy przez rzutowanie. Pomocny jest algorytm obliczania domknięcia. P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2016 46 / 50

Dekompozycja relacji Każda relacja dwuargumentowa jest w BCNF, ale skąd wiadomo jak dzielić? Metoda 1 Znaleźć zależność funkcyjną naruszającą BCNF: A 1 A 2... A n B 1 B 2... B m. 2 Uzupełnić prawą stronę o wszystkie atrybuty funkcyjnie zależne od A 1 A 2... A n : A 1 A 2... A n B 1 B 2... B m B m+1... B m+k. 3 Wykonać dekompozycję na S(A 1, A 2... A n, B 1 B 2... B m+k ) i S(A 1, A 2... A n, C 1 C 2... C l ), gdzie C jest dobrany tak, aby pokryć wszystkie atrybuty R. P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2016 47 / 50

Dekompozycja relacji c.d. StudiaFilmowe tytuł rok długość typfilmu nazwastudia adresstudia Gwiezdne Wojny 1977 124 kolor Fox Hollywood Imperium Kontratakuje 1980 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 narusza BCNF Po dekompozycji Studia(nazwaStudia, adresstudia) Filmy(tytuł, rok, długość, typfilmu, nazwastudia) P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2016 48 / 50

Dekompozycja relacji c.d. Po dekompozycji Studia(nazwaStudia, adresstudia) Filmy(tytuł, rok, długość, typfilmu, nazwastudia) Studia nazwastudia Fox Disney Paramount adresstudia Hollywood Buena Vista Hollywood Filmy tytuł rok długość typfilmu nazwastudia Gwiezdne Wojny 1977 124 kolor Fox Imperium Kontratakuje 1980 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ń 2016 49 / 50

Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2016z P. Daniluk (Wydział Fizyki) BDiUS w. III Jesień 2016 50 / 50