Zależności funkcyjne.

Slides:



Advertisements
Podobne prezentacje
Funkcje tworzące są wygodnym narzędziem przy badaniu zmiennych losowych o wartościach całkowitych nieujemnych. Funkcje tworzące pierwszy raz badał de.
Advertisements

Teoria układów logicznych
Równanie różniczkowe zupełne i równania do niego sprowadzalne
RACHUNEK ZDAŃ.
11. Różniczkowanie funkcji złożonej
Ile rozwiązań może mieć układ równań?
S – student, P – przedmiot, W – wykładowca
dr Przemysław Garsztka
Relacyjny model danych
Badania operacyjne. Wykład 2
Wykład no 11.
Matematyka Dyskretna, G.Mirkowska, PJWSTK
Twierdzenie Thevenina-Nortona
Materiały pochodzą z Platformy Edukacyjnej Portalu
MS Access 2000 Normalizacja Paweł Górczyński 2005.
Liczby Pierwsze - algorytmy
ZLICZANIE cz. II.
ALGORYTMY GEOMETRYCZNE.
WYKŁAD 5. Skojarzenia – ciąg dalszy
GRAFY PLANARNE To grafy, które można narysować na płaszczyźnie tak, by krawędzie nie przecinały się (poza swoimi końcami). Na przykład K_4, ale nie K_5.
Algorytm Rochio’a.
Materiały pomocnicze do wykładu
1.
Normalizacja : Głównym celem projektowania bazy przeznaczonej dla systemu relacyjnego jest właściwa reprezentacja danych, związków i więzów. W identyfikowaniu.
Macierz incydencji Macierzą incydencji grafu skierowanego D = (V, A), gdzie V = {1, ..., n} oraz A = {a1, ..., am}, nazywamy macierz I(D) = [aij]i=1,...,n,
Geometria obrazu Wykład 13
Projektowanie struktury logicznej (schematu) relacyjnych baz danych
Liczby zespolone z = a + bi.
OKRĘGI DOPISANE DO TRÓJKĄTA
Teoria relacyjnych baz danych
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
Algorytmy Opracowanie: Maria Skalska na podstawie „Informatyka 2000” wydawnictwa Czarny Kruk.
OPERACJA DZIELENIA W SQL
Hipoteza cegiełek, k-ramienny bandyta, minimalny problem zwodniczy
IV OTWARTE MISTRZOSTWA OPOLA W PROGRAMOWANIU ZESPOŁOWYM
A. Sumionka. Starodawna gra marynarska; Gra dwu i wieloosobowa; Gracze wykonują ruchy naprzemian; Złożona ze stosów, w których znajduje się pewna ilość
I. Informacje podstawowe
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
OKRĄG OPISANY NA CZWOROKĄCIE; OKRĄG WPISANY W CZWOROKĄT
Nie taki diabeł straszny czyli o zadaniach: wykaż , uzasadnij , udowodnij Piotr Ludwikowski.
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Andrzej Macioł Bazy danych – model relacyjny – cz. 1 Andrzej Macioł
Języki i automaty część 3.
MECHANIKA NIEBA WYKŁAD r.
Technika optymalizacji
II. Matematyczne podstawy MK
PODSTAWOWE WŁASNOŚCI PRZESTRZENI
Model relacyjny.
II Zadanie programowania liniowego PL
Podstawy Techniki Cyfrowej
Projektowanie bazy danych
Łódź 2008 Banki danych WYKŁAD 2 dr Łukasz Murowaniecki T-109.
ALGORYTMY Co to jest algorytm ? Cechy algorytmu Budowa algorytmów
Michał Krawczykowski kl. IIIB
Gramatyki Lindenmayera
Definiowanie kluczy w tabelach RBD
Slajd 1© J.Rumiński Jacek Rumiński  Bazy danych Kontakt: Katedra Inżynierii Biomedycznej, pk. 106, tel.: , fax: ,
Obwody elektryczne - podstawowe prawa
UKŁAD RÓWNAŃ LINIOWYCH INTERPRETACJA GRAFICZNA
567.Jakie prądy płyną przez poszczególne opory na schemacie poniżej, jeśli R 1 =3 , R 2 =7 , R 3 =20 , U=20V, a galwanometr wskazuje i G =0? B R1R1.
Systemy wspomagające dowodzenie twierdzeń
Wykład Rozwinięcie potencjału znanego rozkładu ładunków na szereg momentów multipolowych w układzie sferycznym Rozwinięcia tego można dokonać stosując.
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
Wyrażenie algebraiczne, które powstaje przez dodawanie jednomianów. Jednomiany, które dodajemy nazywamy wyrazami sumy.
Rozwiązywanie układów równań Radosław Hołówko Konsultant: Agnieszka Pożyczka.
Transformacja modelu EER do modelu relacyjnego
Matematyka przed egzaminem czyli samouczek dla każdego
Indeksy.
Nieprawidłowo zaprojektowana tabela
Zapis prezentacji:

Zależności funkcyjne

Schemat semantyczny Warunki integralności stanowią zbiór ograniczeń narzuconych na dane. Definicja 1. Niech W oznacza zbiór warunków integralności dotyczących relacji R o schemacie SCH. Para  = (SCH, W) jest definiowana jako schemat semantyczny relacji.

Schemat semantyczny Definicja 2. Niech będzie dany zbiór schematów semantycznych relacji:  = {1, 2, …, 2} . Niech  oznacza zbiór zależności semantycznych dotyczących więcej niż jednego schematu. Para  = {,  } jest definiowana jako schemat semantyczny bazy danych.

Zależności funkcyjne Zależności funkcyjne między atrybutami są rodzajem warunków integralności. Definicja 3. Niech będzie dany zbiór atrybutów SCH oraz jego podzbiory X i Y. Mówimy, że Y jest funkcyjnie zależny od X, co zapisujemy X  Y, wtedy i tylko wtedy, gdy dla każdej relacji R rozpiętej na schemacie SCH i dla każdych dwóch krotek t1, t2  R jest spełniony warunek: t1(X) = t2(X)  t1(Y) = t2(Y).

Zależności funkcyjne Dla zależności funkcyjnych sformułowano zbiór reguł wnioskowania, które pozwalają na wyprowadzenie nowych zależności na podstawie istniejących. Nazywamy je aksjomatami Armstronga.

AKSJOMATY ARMSTRONGA A1. Y  X  X Y (zwrotność) A2. X  Y  Z  W  XW  YZ (powiększenie) A3. X  Y  Y  Z  X  Z (przechodniość)

AKSJOMATY ARMSTRONGA Dowód A1. t1 (X) = t2 (X)  Y  X  t1 (Y) = t2 (Y) Zależności wynikające z aksjomatu zwrotności są często nazywane trywialnymi.

AKSJOMATY ARMSTRONGA A2. Dowód przez zaprzeczenie. Załóżmy, że : t1 (XW) = t2 (XW)  t1 (YZ)  t2 (YZ). t1 (XW) = t2 (XW)  Z  W  t1 (XZ) = t2 (XZ)  t1 (X) = t2 (X)  t1 (Z) = t2 (Z) t1 (Z) = t2 (Z)  t1 (YZ)  t2 (YZ)  t1 (Y)  t2 (Y) Otrzymaliśmy: t1 (X) = t2 (X)  t1 (Y)  t2 (Y) , co jest sprzeczne z założeniem.

AKSJOMATY ARMSTRONGA A3. ( t1 (X) = t2 (X)  t1 (Y) = t2 (Y))  (t1 (Y) = t2 (Y)  t1 (Z) = t2 (Z))  (t1 (X) = t2 (X)  t1 (Z) = t2 (Z))

REGUŁY ARMSTRONGA Z aksjomatów Armstronga wynikają następujące reguły: D1. X  Y  X  Z  X  YZ (suma) D2. X  Y  WY  Z  XW  Z (pseudoprzechodniość) D3. X  Y  Z  Y  X  Z (rozkład)

REGUŁY ARMSTRONGA Dowód D1. X  Y  X  YX (aksjomat A2) X  Z  XY  ZY (aksjomat A2) X  YX  XY  ZY  X  YZ (aksjomat A3)

REGUŁY ARMSTRONGA Dowód D2. X  Y  XW  YW (aksjomat A2) XW  YW  YW  Z  XW  Z (aksjomat A3)

REGUŁY ARMSTRONGA Dowód D3. Z  Y  Y Z (aksjomat A1) X  Y  Y  Z  X  Z (aksjomat A3)

REGUŁY ARMSTRONGA Zbiór reguł wnioskowania jest zupełny (sound) i kompletny (complete). Oznacza to, że wszystkie wyprowadzone zależności są poprawne oraz że można wyprowadzić wszystkie zależności istniejące w danym schemacie relacji.

Konsekwencja logiczna Oznaczmy przez F zbiór zależności funkcyjnych między atrybutami schematu SCH. Zależność funkcyjna f jest konsekwencją logiczną F, co zapisujemy F = f, jeśli f jest spełnione dla wszystkich relacji o schemacie SCH.

Domknięcie zbioru zależności funkcyjnych F+ Jest to zbiór zależności funkcyjnych będących konsekwencjami logicznymi F

Nasycenie atrybutu X+ Zbiór F+ zawiera zazwyczaj wiele elementów, nawet jeśli F nie jest zbiorem dużym. Za pomocą reguł wnioskowania można bowiem wyprowadzić wiele zależności. Wyznaczanie F+ jest więc procesem czasochłonnym. Znacznie łatwiej można wyznaczyć nasycenie atrybutu X+ .

Nasycenie atrybutu X+ Jest to zbiór atrybutów prostych A takich, że zależność XA można wyprowadzić zgodnie z regułami wnioskowania.

Twierdzenie 1 Zależność XY można otrzymać na podstawie reguł wnioskowania  Y X+

Twierdzenie 1 Dowód Załóżmy, że Y = {Ai, A2, …, An} 1. Y  X+. Zgodnie z definicją X+ jest zbiorem atrybutów Ai, takich, że prawdziwa jest zależność X  Ai. Na podstawie reguły sumy X  X+. Y  X+  X+  Y (aksjomat A1 X  X+  X+  Y  X  Y (aksjomat A3)

Twierdzenie 1 2. X  Y X  Y  X  Ai. (D6) Oznacza to, że Ai  X+  Y  X+

WYZNACZANIE NASYCENIA ATRYBUTU 1. Przyjmujemy X0 = X 2. W każdym następnym kroku powiększamy Xi , Xi+1 = Xi  S, o atrybuty należące do następującego zbioru S: S = {A:  Y  Z  Y  Xi  A  Z}. Ze względu na to, że Xi  Xi+1 …  U wnioskujemy, że metoda jest zbieżna. Proces wyznaczania X+ kończymy, gdy Xi = Xi+1 .

WYZNACZANIE NASYCENIA ATRYBUTU - PRZYKŁAD AB  C, D  EG, C  A, BE  C, BC  D, CG  BD, ACD  B, CE  AG X = BD X+ = ?

WYZNACZANIE NASYCENIA ATRYBUTU - PRZYKŁAD 1. X0 = BD 2. Tylko jedna zależność spełnia warunek Y  Xi . Jest to D  EG. Lewa strona tylko tej zależności jest podzbiorem X0 . Powiększamy X0 o {E,G}. Tak więc X1 = {BDEG}. Postępując podobnie otrzymujemy w czwartym kroku X3 = {ABCDEG}, czyli zbiór wszystkich atrybutów.

POKRYCIA ZBIORÓW ZALEŻNOŚCI Zbiory zależności F i G są równoważne, jeśli F+ = G+. Mówimy, że F pokrywa G ( i G pokrywa F). Zbiory są równoważne  każda zależność z F należy do G+ i każda zależność z G należy do F+ . Twierdzenie 2 Każdy zbiór zależności funkcyjnych F jest pokryty zbiorem zależności G, w którym nie istnieje prawa strona o więcej niż jednym atrybucie.

POKRYCIA ZBIORÓW ZALEŻNOŚCI Dowód: Niech X  Y  F, Y = {A1, A2 ,…, An}. Niech G będzie zbiorem zależności postaci X  Ai . Atrybuty Ai odpowiadają zależnościom X  Y  F. Na podstawie D6 X  Y  X  Ai  G  F+ . Na podstawie D4 X  A1  X  A2  … X  An  X  Y  F  G+

ZBIÓR MINIMALNY Wyznaczenie F+ nie jest konieczne. Wystarczy wyznaczyć zbiór minimalny, czyli taki z którego wynikają wszystkie zależności należące do F+ .

ZBIÓR MINIMALNY Zbiór zależności F jest minimalny jeśli: Prawa strona każdej zależności w F jest pojedynczym atrybutem Zbiór F – {XA} nie jest równoważny F Zbiór F – {XA}  {ZA}, gdzie Z  X nie jest równoważny F.

ZBIÓR MINIMALNY Warunek 2 oznacza, że zbiór F nie zawiera zależności redundantnych. Warunek 3 oznacza, że zbiór F nie zawiera zależności z atrybutami nadmiarowymi po lewej stronie.

ZBIÓR MINIMALNY - PRZYKŁAD AB, BA, AC, CA, BC Co można wyeliminować?

ZBIÓR MINIMALNY - PRZYKŁAD BA i AC BC  CA  BA , AB  BC  AC 2. BC BA  AC  BC Nie można wyeliminować wszystkich trzech zależności. Wynik zależy od kolejności analizowania poszczególnych zależności

ZBIÓR MINIMALNY - PRZYKŁAD ABC , AB, BA Co można wyeliminować?

ZBIÓR MINIMALNY - PRZYKŁAD ABC , AB, BA AB  ABC  AC BA  ABC  BC Można wyeliminować A albo B. Nie można wyeliminować A i B Na wynik ma wpływ kolejność.

ZBIÓR MINIMALNY - PRZYKŁAD AB  C, D  EG, C  A, BE  C, BC  D, CG  BD, ACD  B, CE  AG Wyznaczyć zbiór minimalny

ZBIÓR MINIMALNY - PRZYKŁAD Na podstawie D6 otrzymujemy zależności z pojedynczymi atrybutami po prawej stronie: AB  C, D  E, D  G C  A, BE  C, BC  D, CG  B, CG  D ACD  B, CE  A, CE  G

ZBIÓR MINIMALNY - PRZYKŁAD AB  C, D  E, D  G C  A, BE  C, BC  D, CG  B, CG  D ACD  B, CE  A, CE  G 1. C  A  CE  A CE  A do usunięcia

ZBIÓR MINIMALNY – PRZYKŁAD – ROZWIĄZANIE I C  A  ACD  B  CD  B do usunięcia A z ACD  B 2. CG  D  CD  B  CG  B CG  B do usunięcia Rozwiązanie I AB  C, D  E, D  G, C  A, BE  C, BC  D, CG  D, CD  B, CE  G

ZBIÓR MINIMALNY – PRZYKŁAD – ROZWIAZANIE II CG  B  BC  D  CG  D CG  D do usunięcia D  G  CG  B  CD  B  ACD  B ACD  B do usunięcia Rozwiązanie II AB  C, D  E, D  G, C  A, BE  C, BC  D, CG  B, CE  G

WYZNACZANIE KLUCZA Twierdzenie 3 Niech R oznacza relację o schemacie SCH. Niech F oznacza zbiór zależności funkcyjnych między atrybutami schematu SCH. X  A  F+  SCH – {A}  SCH  F+  Dowód: (SCH – {A})  X  (SCH – {A})  A  F+ (aksjomat A2)

WYZNACZANIE KLUCZA Przy wyznaczaniu klucza wykorzystujemy twierdzenie 3. Jako pierwsze przybliżenie przyjmujemy zbiór wszystkich atrybutów: K = SCH. Następnie usuwamy poszczególne atrybuty sprawdzając czy K – {A}  SCH  F+. Algorytm kończy się, gdy nie istnieje możliwość usunięcia żadnego atrybutu. Otrzymany wynik zależy od kolejności w jakiej rozpatrujemy poszczególne atrybuty.

WYZNACZANIE KLUCZA - PRZYKŁAD P-profesor, G-godzina, N-sala, Y-klasa, T-przedmiot Profesor P wykładający przedmiot T prowadzi zajecia o godzinie G w sali N z klasą Y Zbiór zależności: F = {PT, PGY , GNP, GYN}

WYZNACZANIE KLUCZA - PRZYKŁAD K = PGNYT PT  PGNYPGNYT  K = PGNY PGY  PGNPGNY  K = PGN GNP  GNPGN  K = GN Kluczem jest GN. Można zauważyć, że nie jest to jedyny klucz. Przy innej kolejności usuwania atrybutów otrzymalibyśmy klucze PG lub GY.

WYZNACZANIE KLUCZA – UWAGI DODATKOWE Przy wyznaczaniu kluczy można wykorzystać następujące własności: 1. Każdy klucz kandydujący zawiera wszystkie atrybuty występujące tylko po lewej stronie zależności funkcyjnych 2. Nie istnieje klucz kandydujący zawierający atrybuty występujące tylko po prawej stronie zależności funkcyjnych 3. Jeżeli zbiór atrybutów występujących tylko po lewej stronie zależności funkcyjnych identyfikuje pozostałe atrybuty, to tworzy on jedyny klucz relacji.

WYZNACZANIE KLUCZA - PRZYKŁAD Wyznaczmy klucz schematu R(K, G, N, S, U, O) z następującymi zależnościami: GUS, GSK, KN, KUO Atrybutami występującymi tylko po lewej stronie są Na podstawie reguł Armstronga otrzymujemy: GUS  GSK  GUK GUK  KN  GUN GUK  KUO  GUO GU identyfikuje pozostałe atrybuty, co oznacza, że jest to jedyny klucz schematu.

ROZKŁAD do 3NF Algorytm zapewniający uzyskanie rozkładu bezstratnego i zachowującego zależności do postaci 3NF. 1. Wyznaczyć zbiór minimalny zależności 2. Dla zależności postaci X  Ai utworzyć schemat {X, A1 , A2 , …, An } 3. Jeżeli żaden ze schematów nie zawiera klucza, utworzyć schemat, do którego należą atrybuty kluczowe

ROZKŁAD do 3NF PRZYKŁAD Rozpatrzmy następujące rozkłady schematu R(A, B, C, D) ze zbiorem zależności: F = {A C, C B} R1(A, C), R3(A, B, D) R2(B, C), R4(A, C, D) R1(A, C), R2(B, C), R5(A, D)

PRZYKŁAD 1. R1(A, C), R3(A, B, D) – brak zależności B  C, rozkład odwracalny, R1 w BCNF, R3 w 1NF 2. R2(B, C), R4(A, C, D) – rozkład odwracalny, zależności zachowane, R2 w BCNF, R4 w 1NF 3. R1(A, C), R2(B, C), R5(A, D) – relacje w BCNF

PRZYKŁAD Zauważmy, że zbiór zależności F = {A C, C B} jest zbiorem minimalnym oraz że kluczem schematu jest AD. Przedstawiony algorytm prowadzi do rozkładu R1(A, C), R2(B, C), R5(A, D).