Bazy danych i usługi sieciowe
Transkrypt
Bazy danych i usługi sieciowe
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 A1 , A2 , . . . , An
Zbiór wszystkich n-tek uporządkowanych (a1 , a2 , . . . , an ), t. że ai ∈ Ai .
(a1 , a2 , . . . , an ) ∈ A1 × A2 × . . . × An ⇐⇒ ∀0<i≤n ai ∈ Ai
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 ⊂ A1 × A2 × . . . An
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 ⊂ A1 × A2 × . . . An
Reprezentacja jako dwuwymiarowa tabela
Relacja Filmy
tytuł
Gwiezdne Wojny
Potężne Kaczory
Świat Wayne’a
P. Daniluk (Wydział Fizyki)
rok
1977
1991
1992
długość
124
104
95
BDiUS w. III
typFilmu
kolor
kolor
kolor
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
I
I
I
I
I
I
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
Filmy
adres
Gwiazdy
Gra-w
długość
typTaśmy
Posiada
Studia
nazwa
P. Daniluk (Wydział Fizyki)
BDiUS w. III
adres
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
tytuł
Gwiezdne Wojny
Potężne Kaczory
Świat Wayne’a
rok
1977
1991
1992
nazwaStudia
Fox
Disney
Paramount
Gra-w – wiele do wiele
tytuł
Gwiezdne Wojny
Gwiezdne Wojny
Gwiezdne Wojny
Potężne Kaczory
Świat Wayne’a
Świat Wayne’a
P. Daniluk (Wydział Fizyki)
rok
1977
1977
1977
1991
1992
1992
BDiUS w. III
nazwiskoGwiazdy
Carrie Fisher
Mark Hamill
Harrison Ford
Emilio Estevez
Dana Carvey
Mike Meyers
Jesień 2016
9 / 50
Relacje odpowiadające związkom c.d.
Gwiazdy
Kontrakty
Studio gwiazdy
Filmy
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ł
Gwiezdne Wojny
Potężne Kaczory
Świat Wayne’a
P. Daniluk (Wydział Fizyki)
rok
1977
1991
1992
długość
124
104
95
BDiUS w. III
typFilmu
kolor
kolor
kolor
nazwaStudia
Fox
Disney
Paramount
Jesień 2016
11 / 50
Łączenie relacji
Filmy i Posiada
Filmy(tytuł, rok, długość, typFilmu, nazwaStudia)
tytuł
Gwiezdne Wojny
Potężne Kaczory
Świat Wayne’a
rok
1977
1991
1992
długość
124
104
95
typFilmu
kolor
kolor
kolor
nazwaStudia
Fox
Disney
Paramount
Dołączenie Gra-w to zły pomysł
Filmy(tytuł, rok, długość, typFilmu, nazwaStudia, nazwiskoGwiazdy)
tytuł
Gwiezdne Wojny
Gwiezdne Wojny
Gwiezdne Wojny
Potężne Kaczory
Świat Wayne’a
Świat Wayne’a
P. Daniluk (Wydział Fizyki)
rok
1977
1977
1977
1991
1992
1992
długość
124
124
124
104
95
95
typFilmu
kolor
kolor
kolor
kolor
kolor
kolor
BDiUS w. III
nazwaStudia
Fox
Fox
Fox
Disney
Paramount
Paramount
nazwiskoGwiazdy
Carrie Fisher
Mark Hamill
Harrison Ford
Emilio Estevez
Dana Carvey
Mike Meyers
Jesień 2016
11 / 50
Słabe encje
numer
nazwa
Zespoły
Jednostka-w
adres
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
Zespoły
Jednostka-w
adres
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
rok
typTaśmy
tytuł
Filmy
długość
Głosy
isa
isa
broń
Kryminały
Kreskówki
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 A1 , A2 , . . . , An , to
muszą być zgodne w pewnym innym atrybucie B
Notacja
A1 A2 . . . An → B
Wiele zależności funkcyjnych
A1 A2 . . . An → B1
...
A1 A2 . . . An → Bm
zapisujemy skrótowo jako
A1 A2 . . . An → B1 . . . Bm
P. Daniluk (Wydział Fizyki)
BDiUS w. III
Jesień 2016
15 / 50
Zależności funkcyjne c.d.
tytuł
Gwiezdne Wojny
Gwiezdne Wojny
Gwiezdne Wojny
Potężne Kaczory
Świat Wayne’a
Świat Wayne’a
rok
1977
1977
1977
1991
1992
1992
długość
124
124
124
104
95
95
typFilmu
kolor
kolor
kolor
kolor
kolor
kolor
nazwaStudia
Fox
Fox
Fox
Disney
Paramount
Paramount
nazwiskoGwiazdy
Carrie Fisher
Mark Hamill
Harrison Ford
Emilio Estevez
Dana Carvey
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 {A1 , A2 , . . . , An } tworzy klucz relacji R
jeśli
1
2
Wszystkie pozostałe atrybuty relacji są funkcyjnie zależne od tych
atrybutów,
Nie istnieje podzbiór właściwy zbioru {A1 , A2 , . . . , An }, 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ł
Gwiezdne Wojny
Gwiezdne Wojny
Gwiezdne Wojny
Potężne Kaczory
Świat Wayne’a
Świat Wayne’a
rok
1977
1977
1977
1991
1992
1992
P. Daniluk (Wydział Fizyki)
długość
124
124
124
104
95
95
typFilmu
kolor
kolor
kolor
kolor
kolor
kolor
BDiUS w. III
nazwaStudia
Fox
Fox
Fox
Disney
Paramount
Paramount
nazwiskoGwiazdy
Carrie Fisher
Mark Hamill
Harrison Ford
Emilio Estevez
Dana Carvey
Mike Meyers
Jesień 2016
19 / 50
Klucze c.d.
tytuł
Gwiezdne Wojny
Gwiezdne Wojny
Gwiezdne Wojny
Potężne Kaczory
Świat Wayne’a
Świat Wayne’a
rok
1977
1977
1977
1991
1992
1992
długość
124
124
124
104
95
95
typFilmu
kolor
kolor
kolor
kolor
kolor
kolor
nazwaStudia
Fox
Fox
Fox
Disney
Paramount
Paramount
nazwiskoGwiazdy
Carrie Fisher
Mark Hamill
Harrison Ford
Emilio Estevez
Dana Carvey
Mike Meyers
Klucz?
tytuł rok
P. Daniluk (Wydział Fizyki)
BDiUS w. III
Jesień 2016
19 / 50
Klucze c.d.
tytuł
Gwiezdne Wojny
Gwiezdne Wojny
Gwiezdne Wojny
Potężne Kaczory
Świat Wayne’a
Świat Wayne’a
rok
1977
1977
1977
1991
1992
1992
długość
124
124
124
104
95
95
typFilmu
kolor
kolor
kolor
kolor
kolor
kolor
nazwaStudia
Fox
Fox
Fox
Disney
Paramount
Paramount
nazwiskoGwiazdy
Carrie Fisher
Mark Hamill
Harrison Ford
Emilio Estevez
Dana Carvey
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, b1 , c1 ), u = (a, b2 , c2 )
A → B =⇒ b1 = b2
B → C =⇒ c1 = c2
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 A1 A2 . . . An → B1 B2 . . . Bm można zastąpić zbiorem
zależności funkcyjnych A1 A2 . . . An → Bi , i = 1, 2, . . . , m.
Reguła łączenia
Zbiór zależności funkcyjnych A1 A2 . . . An → Bi , i = 1, 2, . . . , m można
zastąpić pojedynczą zależnością funkcyjną A1 A2 . . . An → B1 B2 . . . Bm .
Przykład
tytuł rok → długość
tytuł rok → typFilmu
tytuł rok → nazwaStudia
P. Daniluk (Wydział Fizyki)
tytuł rok → długość typFilmu nazwaStudia
=⇒ tytuł rok → długość typFilmu
...
BDiUS w. III
Jesień 2016
22 / 50
Reguły podziału i łączenia
Reguła podziału
Zależność funkcyjna A1 A2 . . . An → B1 B2 . . . Bm można zastąpić zbiorem
zależności funkcyjnych A1 A2 . . . An → Bi , i = 1, 2, . . . , m.
Reguła łączenia
Zbiór zależności funkcyjnych A1 A2 . . . An → Bi , i = 1, 2, . . . , m można
zastąpić pojedynczą zależnością funkcyjną A1 A2 . . . An → B1 B2 . . . Bm .
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ść =⇒
P. Daniluk (Wydział Fizyki)
tytuł → długość
rok → długość
BDiUS w. III
Jesień 2016
22 / 50
Trywialne zależności funkcyjne
Zależność funkcyjna A1 A2 . . . An → B1 B2 . . . Bm 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 A1 A2 . . . An → B1 B2 . . . Bm jest równoważna
zależności A1 A2 . . . An → C1 C2 . . . Ck , 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 {A1 , A2 , . . . , An } 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ść
A1 A2 . . . An → B.
Notacja
{A1 , A2 , . . . , An }+
P. Daniluk (Wydział Fizyki)
BDiUS w. III
Jesień 2016
25 / 50
Algorytm wyznaczania domknięcia
1
X := {A1 , A2 , . . . , An }
2
Znajdujemy wszystkie zależności funkcyjne postaci B1 B2 . . . Bm → C ,
dla których B1 , B2 , . . . , Bm 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ł
Gwiezdne Wojny
Gwiezdne Wojny
Gwiezdne Wojny
Potężne Kaczory
Świat Wayne’a
Świat Wayne’a
rok
1977
1977
1977
1991
1992
1992
długość
124
124
124
104
95
95
typFilmu
kolor
kolor
kolor
kolor
kolor
kolor
nazwaStudia
Fox
Fox
Fox
Disney
Paramount
Paramount
nazwiskoGwiazdy
Carrie Fisher
Mark Hamill
Harrison Ford
Emilio Estevez
Dana Carvey
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ł
Gwiezdne Wojny
Potężne Kaczory
Świat Wayne’a
rok
1977
1991
1992
długość
124
104
95
typFilmu
kolor
kolor
kolor
nazwaStudia
Fox
Disney
Paramount
gwiazdy
Carrie Fisher, Mark Hamill, Harrison Ford
Emilio Estevez
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 0 dla relacji zewnętrznej R z atrybutów nie
zawierających atrybutu złożonego zawierającego relację P.
Tworzymy relację P 0 dla relacji wewnętrznej, do której dodajemy klucz
relacji zewnętrznej.
Kluczem nowej relacji P 0 jest suma klucza relacji zewnętrznej R i
klucza relacji wewnętrznej P 0 .
Przykład
R: Filmy(tytuł, rok, długość, nazwaStudia, Gwiazdy(nazwisko))
P: Gwiazdy(nazwisko)
R 0 : Filmy(tytuł, rok, długość, nazwaStudia)
P 0 : Gwiazdy(tytuł, rok, nazwisko)
P. Daniluk (Wydział Fizyki)
BDiUS w. III
Jesień 2016
33 / 50
Dekompozycja do 1NF c.d.
Filmy – przed normalizacją
tytuł
Gwiezdne Wojny
Potężne Kaczory
Świat Wayne’a
rok
1977
1991
1992
długość
124
104
95
typFilmu
kolor
kolor
kolor
nazwaStudia
Fox
Disney
Paramount
gwiazdy
Carrie Fisher, Mark Hamill, Harrison Ford
Emilio Estevez
Dana Carvey, Mike Meyers
Po normalizacji
Gwiazdy
Filmy
tytuł
Gwiezdne Wojny
Potężne Kaczory
Świat Wayne’a
rok
1977
1991
1992
P. Daniluk (Wydział Fizyki)
długość
124
104
95
typFilmu
kolor
kolor
kolor
nazwaStudia
Fox
Disney
Paramount
BDiUS w. III
tytuł
Gwiezdne Wojny
Gwiezdne Wojny
Gwiezdne Wojny
Potężne Kaczory
Świat Wayne’a
Świat Wayne’a
rok
1977
1977
1977
1991
1992
1992
nazwiskoGwiazdy
Carrie Fisher
Mark Hamill
Harrison Ford
Emilio Estevez
Dana Carvey
Mike Meyers
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 A0 ⊂ A taki, że
A0 → 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 A0 ⊂ A taki, że
A0 → 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ł
Gwiezdne Wojny
Gwiezdne Wojny
Gwiezdne Wojny
Potężne Kaczory
Świat Wayne’a
Świat Wayne’a
rok
1977
1977
1977
1991
1992
1992
długość
124
124
124
104
95
95
typFilmu
kolor
kolor
kolor
kolor
kolor
kolor
nazwaStudia
Fox
Fox
Fox
Disney
Paramount
Paramount
nazwiskoGwiazdy
Carrie Fisher
Mark Hamill
Harrison Ford
Emilio Estevez
Dana Carvey
Mike Meyers
adresGwiazdy
Malibu
Brentwood
Hollywood
West Hollywood
Beverly Hills
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 {A1 , . . . , An } → B zbiór {A1 , . . . , An } jest
nadkluczem lub B jest elementem pewnego klucza.
StudiaFilmowe
tytuł
Gwiezdne Wojny
Potężne Kaczory
Świat Wayne’a
rok
1977
1991
1992
długość
124
104
95
typFilmu
kolor
kolor
kolor
nazwaStudia
Fox
Disney
Paramount
adresStudia
Hollywood
Buena Vista
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 {A1 , . . . , An } → B zbiór
{A1 , . . . , An } 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
Polonia
Moskwa
Dom Kultury Kolejarza “Stokrotka”
miasto
Warszawa
Warszawa
Kogutkowo Górne
Zależności funkcyjne
Klucze
kino → miasto
tytuł miasto → kino
(tytuł, miasto)
(kino, tytuł)
tytuł
Gwiezdne Wojny
Potężne Kaczory
Gwiezdne Wojny
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
Carrie Fisher
Carrie Fisher
Carrie Fisher
Carrie Fisher
Carrie Fisher
Carrie Fisher
ulica
123 Maple St.
5 Locus Ln.
123 Maple St.
5 Locus Ln.
123 Maple St.
5 Locus Ln.
miasto
Hollywood
Malibu
Hollywood
Malibu
Hollywood
Malibu
tytuł
Gwiezdne Wojny
Gwiezdne Wojny
Imperium Kontratakuje
Imperium Kontratakuje
Powrót Jedi
Powrót Jedi
rok
1977
1977
1980
1980
1983
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 A1 A2 . . . An B1 B2 . . . Bm 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 A1 A2 . . . An B1 B2 . . . Bm jest równoważna
zależności A1 A2 . . . An C1 C2 . . . Ck , gdzie C są tymi elementami z B,
które nie należą do A.
Reguła przechodniości
Jeżeli zachodzi zależność A1 A2 . . . An B1 B2 . . . Bm oraz całkowicie
nietrywialna zależność B1 B2 . . . Bm C1 C2 . . . Ck , to zachodzi również
zależność A1 A2 . . . An C1 C2 . . . Ck .
Zależność funkcyjna jest zależnością wielowartościową
Zależność funkcyjna A1 A2 . . . An → B1 B2 . . . Bm pociąga za sobą zależność
wielowartościową A1 A2 . . . An B1 B2 . . . Bm .
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ść A1 A2 . . . An B1 B2 . . . Bm , to zachodzi również
zależność A1 A2 . . . An C1 C2 . . . Ck , gdzie atrybuty typu C są wszystkimi
atrybutami R, które nie są typu A ani B.
Zależność trywialna
Zależność A1 A2 . . . An B1 B2 . . . Bm 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
A1 A2 . . . An B1 B2 . . . Bm zbiór {A1 , . . . , An } jest nadkluczem.
Gwiazdy
nazwisko
Carrie Fisher
Carrie Fisher
Carrie Fisher
Carrie Fisher
Carrie Fisher
Carrie Fisher
ulica
123 Maple St.
5 Locus Ln.
123 Maple St.
5 Locus Ln.
123 Maple St.
5 Locus Ln.
miasto
Hollywood
Malibu
Hollywood
Malibu
Hollywood
Malibu
tytuł
Gwiezdne Wojny
Gwiezdne Wojny
Imperium Kontratakuje
Imperium Kontratakuje
Powrót Jedi
Powrót Jedi
rok
1977
1977
1980
1980
1983
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(A1 , A2 , . . . , An ) na dwie relacje
S(B1 , B2 , . . . , Bm ) i T (C1 , C2 , . . . , Ck ) gdzie:
{A1 , A2 , . . . , An } = {B1 , B2 , . . . , Bm } ∪ {C1 , C2 , . . . , Ck }
1
Schematy relacji S(B1 , B2 , . . . , Bm ) i T (C1 , C2 , . . . , Ck )
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:
A1 A2 . . . An → B1 B2 . . . Bm .
2
Uzupełnić prawą stronę o wszystkie atrybuty funkcyjnie zależne od
A1 A2 . . . An : A1 A2 . . . An → B1 B2 . . . Bm Bm+1 . . . Bm+k .
3
Wykonać dekompozycję na S(A1 , A2 . . . An , B1 B2 . . . Bm+k ) i
S(A1 , A2 . . . An , C1 C2 . . . Cl ), 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ł
Gwiezdne Wojny
Imperium Kontratakuje
Potężne Kaczory
Świat Wayne’a
rok
1977
1980
1991
1992
długość
124
124
104
95
typFilmu
kolor
kolor
kolor
kolor
nazwaStudia
Fox
Fox
Disney
Paramount
adresStudia
Hollywood
Hollywood
Buena Vista
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ł
Gwiezdne Wojny
Imperium Kontratakuje
Potężne Kaczory
Świat Wayne’a
P. Daniluk (Wydział Fizyki)
rok
1977
1980
1991
1992
długość
124
124
104
95
BDiUS w. III
typFilmu
kolor
kolor
kolor
kolor
nazwaStudia
Fox
Fox
Disney
Paramount
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