Plan - Poznan University of Technologyetacar.put.poznan.pl/tadeusz.pankowski/03-zal-funkc.pdf ·...

8
(c) T. Pankowski, Zależności funkcyjne 1 Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski Zale Zale ż ż no no ś ś ci funkcyjne ci funkcyjne (c) T. Pankowski, Zależności funkcyjne 2 Plan Plan 1. Zależności funkcyjne jako klasa ograniczeń semantycznych odwzorowywanego świata rzeczywistego. 2. Wyprowadzanie zależności funkcyjnych (reguły wnioskowania, ujęcie aksjomatyczne). 3. Schematy relacyjne = typ relacji + zależności funkcyjne. 4. Rozkładalność schematów relacyjnych i rozkładalność relacji. (c) T. Pankowski, Zależności funkcyjne 3 Poj Poj ę ę cie zale cie zale ż ż no no ś ś ci funkcyjnej ci funkcyjnej Definicja Niech U będzie skończonym zbiorem atrybutów. Zależnością funkcyjną nazywamy każdy napis o postaci X Y, gdzie X, Y U. Mówimy wówczas, że Y zależy funkcyjnie od X lub, że X determinuje funkcyjnie Y. Przykłady: NrPESEL DataUrodzenia NrPESEL Nazwisko IdStud Kierunek, Dziekan, Wydział IdStud, NrPrzedmiotu, Data Ocena (c) T. Pankowski, Zależności funkcyjne 4 Spe Spe ł ł nianie zale nianie zale ż ż no no ś ś ci funkcyjnej ci funkcyjnej Definicja Niech dana będzie tabela R tupu 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 r 1 , r 2 R, zachodzi π X (r 1 ) = π X (r 2 ) π Y (r 1 ) = π Y (r 2 ), tzn. z równości krotek na atrybutach ze zbioru X wynika równość tych krotek na atrybutach ze zbioru Y. Uwaga: Zamiast π X (r) stosujemy często zapis: r[X] – projekcja krotki r na zbiór atrybutów X.

Transcript of Plan - Poznan University of Technologyetacar.put.poznan.pl/tadeusz.pankowski/03-zal-funkc.pdf ·...

(c) T. Pankowski, Zależności funkcyjne 1

Tadeusz Pankowskiwww.put.poznan.pl/~tadeusz.pankowski

ZaleZależżnonośści funkcyjne ci funkcyjne

(c) T. Pankowski, Zależności funkcyjne 2

PlanPlan1. Zależności funkcyjne jako klasa ograniczeń

semantycznych odwzorowywanego świata rzeczywistego.

2. Wyprowadzanie zależności funkcyjnych (reguły wnioskowania, ujęcie aksjomatyczne).

3. Schematy relacyjne = typ relacji + zależności funkcyjne.

4. Rozkładalność schematów relacyjnych i rozkładalność relacji.

(c) T. Pankowski, Zależności funkcyjne 3

PojPojęęcie zalecie zależżnonośści funkcyjnejci funkcyjnejDefinicja

Niech U będzie skończonym zbiorem atrybutów. Zależnością funkcyjnąnazywamy każdy napis o postaci

X → Y,gdzie X, Y ⊆ U. Mówimy wówczas, że Y zależy funkcyjnie od X lub, że X determinuje funkcyjnie Y.

Przykłady:NrPESEL → DataUrodzeniaNrPESEL → NazwiskoIdStud → Kierunek, Dziekan, WydziałIdStud, NrPrzedmiotu, Data → Ocena

(c) T. Pankowski, Zależności funkcyjne 4

SpeSpełłnianie zalenianie zależżnonośści funkcyjnejci funkcyjnej

Definicja

Niech dana będzie tabela R tupu 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 r1, r2 ∈ R, zachodzi

πX(r1) = πX(r2) ⇒ πY(r1) = πY(r2),

tzn. z równości krotek na atrybutach ze zbioru X wynika równość tych krotek na atrybutach ze zbioru Y.

Uwaga: Zamiast πX(r) stosujemy często zapis: r[X] – projekcja krotki r na zbiór atrybutów X.

(c) T. Pankowski, Zależności funkcyjne 5

SpeSpełłnianie zalenianie zależżnonośści funkcyjnej ci funkcyjnej --przykprzykłładad

3matPawlak12

3matNowak11

4fizKubiak10

3matKubiak10

OcenaIdPrzedNazwiskoIdStud

Egzamin

Egzamin £ IdStud → Nazwisko

Egzamin £ IdStud, IdPrzed → Ocena

? Egzamin £ IdPrzed → Ocena – nie, nie jest to niezmiennicza właściwość tabeli Egzamin

(c) T. Pankowski, Zależności funkcyjne 6

Wyprowadzanie zaleWyprowadzanie zależżnonośści funkcyjnych ci funkcyjnych --motywacjamotywacja

1. Przy projektowaniu bazy danych powinniśmy wiedzieć, jakie zależności funkcyjne powinny być spełnione w relacjach o projektowanym schemacie.

2. Mając zadany zbiór ZF: F = {X1 → A1, X2 → A2,…, Xn → An },

chcemy wiedzieć, czy zależnośćX → A

spełniona jest w każdej takiej taeli, w której spełnione są wszystkie zależności ze zbioru F.Przykład: Jeśli zbiór zależności F = {A → B , B → C} spełniony jest w R, to łatwo dowieść (z definicji), że w R spełniona jest również zależnośćA → C. (Pokaż to !)

(c) T. Pankowski, Zależności funkcyjne 7

Wyprowadzanie zaleWyprowadzanie zależżnonośści funkcyjnychci funkcyjnych

1. Problem: zadany jest zbiór zależności funkcyjnych F (być może pusty) na zbiorem atrybutów U. Należy wyznaczyć zbiór wszystkich zależności funkcyjnych będących konsekwencjami zbioru F. Taki zbiór oznaczaćbędziemy przez F+ (domknięcie F).

2. Dwa podejścia:• z definicji: sprawdzamy „wszystkie możliwe kombinacje”

podzbiorów U• przez wnioskowanie: stosujemy pewne reguły wnioskowania.

8

Wyprowadzanie zaleWyprowadzanie zależżnonośści ci funkcyjnych z definicjifunkcyjnych z definicji

Przykład:Niech U = {A, B, C}, F = {A → B , B → C}, n = card(U) = 3Zbiór wszystkich podzbiorów U: 2n – 1 = 7: A, B, C, AB, AC, BC, ABCZbiór wszystkich „kombinacji” podzbiorów: (2n – 1) * (2n – 1) = 49.Sprawdź, które z następujących zależności są konsekwencjami F:AB → A, AB → B, AB → C, AB → AB, AB → AC, AB → BC, AB → ABC,... ... ...AB → A (?)r1[AB] = r2[AB] ⇒ r1[A] = r2[A] – tak, zawsze niezależnie od F.AB →C (?)r1[AB] = r2[AB] ⇒ r1[C] = r2[C]r1[A] = r2[A] ⇒ r1[B] = r2[B], r1[B] = r2[B] ⇒ r1[C] = r2[C]r1[AB] = r2[AB] ⇒ r1[A] = r2[A] ⇒ r1[B] = r2[B] ⇒ r1[C] = r2[C] – tak.Problem:Złożoność ekspotencjalna O(2n).

(c) T. Pankowski, Zależności funkcyjne 9

Wyprowadzanie zaleWyprowadzanie zależżnonośści funkcyjnych ci funkcyjnych przez wnioskowanieprzez wnioskowanie

• Reguły wyprowadzania dla zależności funkcyjnych zostały zaproponowane przez Armstronga i nazywane sąaksjomatami Armstronga

(c) T. Pankowski, Zależności funkcyjne 10

Aksjomaty ArmstrongaAksjomaty Armstronga

(c) T. Pankowski, Zależności funkcyjne 11

ZaleZależżnonośści funkcyjne ci funkcyjne –– przykprzykłład ad wnioskowaniawnioskowania

(c) T. Pankowski, Zależności funkcyjne 12

NiesprzecznoNiesprzecznośćść aksjomataksjomatóów Armstrongaw Armstronga

(c) T. Pankowski, Zależności funkcyjne 13

PePełłnonośćść aksjomataksjomatóów Armstrongaw Armstronga

(c) T. Pankowski, Zależności funkcyjne 14

DomkniDomknięęcie zbioru zalecie zbioru zależżnonośści ci funkcyjnychfunkcyjnych

(c) T. Pankowski, Zależności funkcyjne 15

Wyznaczanie domkniWyznaczanie domknięęcia X+cia X+

Problem: Dany jest zbiór zależności funkcyjnych F oraz zbiór

atrybutów X. Dla X wyznaczyć zbiór X+ złożony z atrybutów zależnych funkcyjnie od X.

Metoda: • Rozpoczynamy przyjmując: X+ = X.• Indukcja: Poszukujemy wszystkie te ZF, których lewe

strony są podzbiorami bieżącego zbioru X+ i do X +

dołączamy wszystkie atrybuty należące do prawych stron tych ZF.

• Jeśli np. Y ⊆ X+ oraz Y → B, to: X+ = X+ ∪ {B}.

(c) T. Pankowski, Zależności funkcyjne 16

Wyznaczanie domkniWyznaczanie domknięęcia X+cia X+

nowe X +

Y B

X +

(c) T. Pankowski, Zależności funkcyjne 17

Wyprowadzanie zaleWyprowadzanie zależżnonośści funkcyjnychci funkcyjnych

18

Wyprowadzanie zaleWyprowadzanie zależżnonośści ci funkcyjnych funkcyjnych -- przykprzykłładad

(c) T. Pankowski, Zależności funkcyjne 19

Schematy relacyjneSchematy relacyjne

(c) T. Pankowski, Zależności funkcyjne 20

Przypadki schematPrzypadki schematóów relacyjnychw relacyjnych

(c) T. Pankowski, Zależności funkcyjne 21

Przypadki schematPrzypadki schematóów relacyjnych w relacyjnych ––przykprzykłładad

(c) T. Pankowski, Zależności funkcyjne 22

RozkRozkłładalnoadalnośćść schematschematóów w relacyjnychrelacyjnych

(c) T. Pankowski, Zależności funkcyjne 23

RozkRozkłładalnoadalnośćść bez straty danychbez straty danych

(c) T. Pankowski, Zależności funkcyjne 24

Twierdzenie o rozkTwierdzenie o rozkłładalnoadalnośścici

25

Zastosowanie twierdzenia o Zastosowanie twierdzenia o rozkrozkłładalnoadalnośćść

3yb

2ya

2xa

1xa

DataIdTowIdKli

3yb

2ya

1ya

2xa

1xa

DataIdTowIdKli

yb

ya

xa

IdTowIdKli

W Sprz nie jest spełniona ani zależność funkcyjna IdKli → IdTow, ani IdKli → Data. Nie jest więc spełnione założenia twierdzenia o rozkładalności.

Sprz

3b

2a

1a

DataIdKli

πIdKli,IdTow(Sprz) πIdKli,Data(Sprz)

πIdKli,IdTow(Sprz) ´ πIdKli,Data(Sprz)

?

´

Zastosowanie twierdzenie o Zastosowanie twierdzenie o rozkrozkłładalnoadalnośćść –– przykprzykłładad

27

Zastosowanie twierdzenie o Zastosowanie twierdzenie o rozkrozkłładalnoadalnośćść –– przykprzykłład (c.d.)ad (c.d.)

(c) T. Pankowski, Zależności funkcyjne 28

Zastosowanie twierdzenie o Zastosowanie twierdzenie o rozkrozkłładalnoadalnośćść -- przykprzykłład (c.d.)ad (c.d.)

(c) T. Pankowski, Zależności funkcyjne 29

Zastosowanie twierdzenie o Zastosowanie twierdzenie o rozkrozkłładalnoadalnośćść –– przykprzykłład (c.d.)ad (c.d.)

(c) T. Pankowski, Zależności funkcyjne 30

Zastosowanie twierdzenie o rozkZastosowanie twierdzenie o rozkłładalnoadalnośćść–– przykprzykłład podsumowaniead podsumowanie