Zależności funkcyjne

Podobne dokumenty
Pojęcie zależności funkcyjnej

Tadeusz Pankowski Definicja. Definicja

Systemy baz danych. Notatki z wykładu

Normalizacja. Pojęcie klucza. Cel normalizacji

Cel normalizacji. Tadeusz Pankowski

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

Technologie baz danych

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

PODSTAWY BAZ DANYCH 2009/ / Notatki do wykładu "Podstawy baz danych"

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

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

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

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

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

PODSTAWY BAZ DANYCH Wykład 2 2. Pojęcie Relacyjnej Bazy Danych

Projektowanie relacyjnych baz danych

Algebra Boole a i jej zastosowania

Bazy Danych i Usługi Sieciowe

Bazy danych. Andrzej Łachwa, UJ, /15

Bazy Danych i Usługi Sieciowe

Bazy danych 3. Normalizacja baz danych

Bazy danych i usługi sieciowe

Zależności funkcyjne pierwotne i wtórne

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

Algebra i jej zastosowania konspekt wyk ladu, czȩść druga

1 Określenie pierścienia

Postać normalna Boyce-Codd (BCNF)

WYKŁAD 1. Wprowadzenie do problematyki baz danych

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

Grupy, pierścienie i ciała

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

Bazy danych. Andrzej Łachwa, UJ, /15

Normalizacja schematów logicznych relacji

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

1. Wykład NWD, NWW i algorytm Euklidesa.

Bazy danych. Bazy danych. wykład kursowy. Adam Kolany. Państwowa Wyższa Szkoła Zawodowa 2007/2008

Matematyka dyskretna. 1. Relacje

φ(x 1,..., x n ) = a i x 2 i +

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.

Relacyjny model danych

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

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

Analiza funkcjonalna 1.

Rozdział 1. Wektory losowe. 1.1 Wektor losowy i jego rozkład

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);

Algebra abstrakcyjna

Rachunek różniczkowy i całkowy w przestrzeniach R n

1. Określenie pierścienia

1 Zbiory. 1.1 Kiedy {a} = {b, c}? (tzn. podać warunki na a, b i c) 1.2 Udowodnić, że A {A} A =.

Dystrybucje, wiadomości wstępne (I)

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

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

Teoria Liczb Rzeczywistych

1 Przygotował: mgr inż. Maciej Lasota

- Dla danego zbioru S zbiór wszystkich jego podzbiorów oznaczany symbolem 2 S.

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Relacje. opracował Maciej Grzesiak. 17 października 2011

III. ZMIENNE LOSOWE JEDNOWYMIAROWE

FUNKCJE. (odwzorowania) Funkcje 1

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Informacja o przestrzeniach Sobolewa

Zadania z algebry liniowej - sem. I Struktury algebraiczne

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów

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

Lokalna odwracalność odwzorowań, odwzorowania uwikłane

Algebrę L = (L, Neg, Alt, Kon, Imp) nazywamy algebrą języka logiki zdań. Jest to algebra o typie

Analiza Matematyczna. Teoria Liczb Rzeczywistych

Schematy Piramid Logicznych

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

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

MODELE MATEMATYCZNE W UBEZPIECZENIACH

Pierścień wielomianów jednej zmiennej

Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i

Projektowanie baz danych

Zależności funkcyjne c.d.

0.1. Logika podstawowe pojęcia: zdania i funktory, reguły wnioskowania, zmienne zdaniowe, rachunek zdań.

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Rodzinę F złożoną z podzbiorów zbioru X będziemy nazywali ciałem zbiorów, gdy spełnione są dwa następujące warunki.

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

1.1 Definicja. 1.2 Przykład. 1.3 Definicja. Niech G oznacza dowolny, niepusty zbiór.

Normalizacja baz danych

Prawdopodobieństwo i statystyka

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

RACHUNEK PRAWDOPODOBIEŃSTWA WYKŁAD 1. L. Kowalski, Statystyka, 2005

Zadania o numerze 4 z zestawów licencjat 2014.

R n = {(x 1, x 2,..., x n ): x i R, i {1,2,...,n} },

Jacek Czekaj. Rodziny równoważne z bazodanową rodziną relacji

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

RELACJE I ODWZOROWANIA

1. PODSTAWY TEORETYCZNE

. : a 1,..., a n F. . a n Wówczas (F n, F, +, ) jest przestrzenią liniową, gdzie + oraz są działaniami zdefiniowanymi wzorami:

Algebra Boole a. Ćwiczenie Sprawdź, czy algebra zbiorów jestrównież algebrą Boole a. Padaj wszystkie elementy takiej realizacji.

3. Macierze i Układy Równań Liniowych

12. Które z harmonogramów transakcji są szeregowalne? a) (a1) (a2) (a3) (a4) b) (b1) (b2) (b3) (b4) c) (c1) (c2) (c3) (c4) d) (d1) (d2) (d3) (d4)

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

1 Zbiory i działania na zbiorach.

7. CIĄGI. WYKŁAD 5. Przykłady :

Paradygmaty dowodzenia

Transkrypt:

Zależności funkcyjne

Plan wykładu Pojęcie zależności funkcyjnej Dopełnienie zbioru zależności funkcyjnych Postać minimalna zbioru zależności funkcyjnych Domknięcie atrybutu relacji względem zależności funkcyjnych Pojęcie klucza Rozkładalność schematów relacyjnych

Pojęcie zależności funkcyjnej Definicja 1: Niech U będzie skończonym zbiorem atrybutów relacji R. Zależnością funkcyjną nazywamy każdy zapis postaci: X Y gdzie: X, Y U Mówimy wówczas, że Y zależy funkcyjnie od X lub że X determinuje funkcyjnie Y

Spełnienie zależności funkcyjnej Definicja 2: Niech dana będzie relacja R(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: zachodzi: r 1[ X ] r2[ X ] r1[ Y ] r2[ Y r 1, r ] 2 R

Spełnienie zależności funkcyjnej - przykład Egzamin NrStud Nazwisko Przedmiot Ocena 10 Kowalski Algebra 3 10 Kowalski Analiza 4 11 Nowak Algebra 3 12 Wróbel Algebra 3 Egza min NrStud Nazwisko Czy zachodzi zależność odwrotna? Egzamin NrStud,Przedmiot Nazwisko Egzamin Przedmiot Ocena (?)

Wyprowadzenie zależności funkcyjnych Mając zadany zbiór ZF (zależności funkcyjnych): F { X 1 A1, X 2 A2,..., Xn An } Chcemy wiedzieć, czy zależność: Y B spełniona jest w każdej relacji R, w której spełnione są wszystkie zależności ze zbioru F

Wyprowadzenie zależności funkcyjnych - przykład Przykładowo mając dany ZF: F { A B, B C} łatwo dowieść z definicji, że spełniona jest również zależność: A C

Wyprowadzanie zależności funkcyjnych przez wnioskowanie Problem: Zadany jest zbiór zależności funkcyjnych F nad zbiorem atrybutów U. Należy wyznaczyć zbiór wszystkich zależności funkcyjnych będący konsekwencją zbioru F. Taki zbiór będziemy oznaczać F+ Reguły wyprowadzania dla zależności funkcyjnych zostały zaproponowane przez Armstronga i nazywane są aksjomatami Armstronga.

Aksjomaty Armstronga Niech dany będzie zbiór zależności funkcyjnych F nad zbiorem atrybutów U. Niech : X,Y, Z U Wówczas: F1(zwrotnosc) : F2(poszerzalnosc): Y X F3(przechodniosc): X X Y Y X Y Y XZ YZ Z X Z

Aksjomaty Armstronga cd Z aksjomatów Armstronga można wyprowadzić następujące reguły: F4(pseudoprzechodnosc): X Y YW Z F5(addytywnosc): X Y X Z X YZ F6(dekompozycyjnosc): X YZ X Y X XW Z Z Zbiór F+ może być generowany przez różne zbiory zależności funkcyjnych. Można mówić o minimalnym generatorze F+

Zależności funkcyjne przykład wnioskowania Niech: U = {P, I, O, E, G, S} P przedmiot egzaminu I numer indeksu O ocena z egzaminu E numer identyfikacyjny egzaminatora G godzina egzaminu S sala egzaminu Zbiór zależności funkcyjnych: F = {P ->GS, GS -> P, PI->O, GI->PS, PGS->E} Zależności pochodne: P->G, P->S, GSI->O GI->E

Postać minimalna zależności funkcyjnych Postać minimalna to najmniejszy zbiór zależności funkcyjnych, z których można wyprowadzić wszystkie zależności funkcyjne.

Postać minimalna zależności funkcyjnych cd. Zbiór zależności F jest minimalny jeżeli: Prawa strona każdej zależności w F jest pojedynczym atrybutem (gwarancja, że żaden atrybut po prawej stronie nie jest redundantny); Nie istnieje takie X->A w F taka, że zbiór F {X->A} jest równoważny z F (gwarancja, że nie ma redundantnych zależności w F); Nie istnieje takie X->A w F oraz taki podzbiór Z zawierający się w X, że: F { X A} { Z A} jest równoważny z F (gwarancja, że nie ma redundantnych atrybutów po lewej stronie)

Postać minimalna zależności funkcyjnych - przykład Dany niech będzie zbiór zależności F F = {A->B, B->A, B->C, A->C, C->A} Jaka jest postać minimalna F? Można wyeliminować: B->A oraz A->C, gdyż: B->C i C->A dają B->A oraz A->B i B->C dają A->C F = {A->B, B->C, C->A}

Postać minimalna zależności funkcyjnych przykład cd Dany niech będzie zbiór zależności F F = {A->B, B->A, B->C, A->C, C->A} Jaka jest postać minimalna F? Można wyeliminować: B->C, gdyż: B->A i A->C dają B->C F = {A->B, B->A, A->C, C->A}

Domknięcie zbioru atrybutów względem zależności funkcyjnych Zbiór: X { A U : X A} nazywamy domknięciem zbioru X względem zbioru zależności funkcyjnych. Twierdzenie: X Y Y X

Wyznaczanie domknięcia Problem: Dany jest zbiór zależności funkcyjnych F oraz zbiór atrybutów X. Dla X wyznaczyć zbiór atrybutów X+ zależnych funkcyjnie od X. Metoda: Rozpoczynamy przyjmując, że: X+ = X Indukcja: Poszukujemy wszystkie te zależności funkcyjne, których lewe strony są podzbiorami bieżącego zbioru X+ i do X+ dołączamy wszystkie atrybuty należące do prawych stron tych zależności. Jeśli na przykład: Y B, Y X to X X { B}

Wyznaczanie domknięcia - przykład Dany niech będzie zbiór zależności F F = {A->B, B->C, C->A} Obliczamy domknięcie atrybutu A względem zbioru F. 1) A+ = {A} 2) Na podstawie A->B mamy A+ = {AB} 3) Na podstawie B->C mamy A+ = {ABC}

Wyznaczanie domknięcia - przykład Dany niech będzie zbiór zależności F: F = {AB->C, C->A, BC->D, ACD->B, D->EG, BE->C, CG->BD, CE->AG} Obliczamy domknięcie atrybutów BD względem zbioru F. 1) BD+ = {BD} 2) Na podstawie D->EG mamy BD + = {BDEG} 3) Na podstawie BE->C mamy BD + = {BCDEG} 4) Na podstawie CE->AG mamy BD + = {ABCDEG}

Pojęcie klucza Dany niech będzie schemat relacyjny: R = (U, F). K U Zbiór atrybutów nazywamy kluczem schematu R wtedy i tylko wtedy, gdy spełnione są następujące warunki: 1) Jednoznaczna identyfikalność 2) Minimalność X U F K U F ( X K) Z warunku 1) wynika, że: K U

Postać minimalna zależności funkcyjnych przykład cd Dany niech będzie zbiór zależności F F = {AB->C, B->A, A->B} Problem: Jaka jest postać minimalna F? Eliminujemy A z AB->C. Wtedy mamy: F = {B->C, B->A, A->B} Dowód wynika to z faktu, że B jest kluczem relacji, gdyż: B+ = {ABC}. W związku z tym C jest zależne od B, a więc można zamiast AB->C napisać B->C. Wtedy bowiem z B->C mamy AB->AC, a z tego AB->A i AB->C. Na tej samej zasadzie można wyeliminować B z AB->C. Wówczas: F = {A->C, B->A, A->B}

Rozkładalność schematów relacyjnych Wyróżniamy trzy rodzaje rozkładalności: Rozkładalność bez straty danych Rozkładalność bez straty zależności Rozkładalność bez straty danych i zależności

Rozkładalność bez straty danych Mówimy, że schemat relacyjny R = (U, F) jest rozkładalny bez straty danych na dwa schematy R[X] i R[Y] wtedy i tylko wtedy gdy: 1) 2) X R Y U R[ X ] R[ Y ]

Twierdzenie o rozkładalności Dany niech będzie schemat relacyjny R=(U,F) i niech XYZ=U i Y Z. Jeśli: X Y F Wówczas R jest rozkładalny bez straty danych na R[XY] oraz R[XZ]

Egzamin Zastosowanie twierdzenia o rozkładalności - przykład NrStud Nazwisko Przedmiot Ocena 10 Kowalski Algebra 3 10 Kowalski Analiza 4 11 Nowak Algebra 3 12 Wróbel Algebra 3 Można rozłożyć według zależności: Egza min NrStud Nazwisko

Zastosowanie twierdzenia o rozkładalności - przykład Można rozłożyć według zależności: Egza min NrStud Nazwisko Ocena NrStud Przedmiot Ocena 10 Algebra 3 10 Analiza 4 11 Algebra 3 12 Algebra 3 Student NrStud Nazwisko 10 Kowalski 11 Nowak 12 Wróbe;

Testowanie rozkładu bez straty danych Dany jest schemat relacyjny R = (A1,, An), zbiór zależności funkcyjnych F oraz dekompozycja na relacje R1,, Rk. Problem: Należy sprawdzić, czy dekompozycja jest bez straty danych. Metoda: Konstruujemy tabelę zawierającą n kolumn i k wierszy. Kolumna j odpowiada atrybutowi Aj, a wiersz i odpowiada relacji Ri. W wiersz i oraz kolumnę j należy wstawić symbol aj jeżeli Aj jest w Ri. W przeciwnym wypadku należy wstawić symbol bij. Dla każdej zależności funkcyjnej X->Y należy znaleźć te same symbole w tabeli dla atrybutu X. Jeśli się je znajdzie należy zmodyfikować w tym wierszu symbole dla atrybutu Y w taki sposób, żeby miały te same wartości. I tak jeśli w którymś z wierszy jest aj, to należy zmienić wszystkie pozostałe na aj. Jeśli bij, to należy zmienić na bij. Jeśli w wyniku poprzedniego kroku tabela nie jest już dalej modyfikowana, wówczas jeśli istnieje w niej wiersz w którym występuje wiersz a1, ak wówczas rozkład jest bez straty danych. W przeciwnym przypadku rozkład jest ze stratą danych.

Testowanie rozkładu bez straty danych Rozważmy rozkład relacji R = (SAIP) na R1 = (SA) i R2 = (SIP) Zakładamy następujące zależności funkcyjne: S->A, SI->P Tabela inicjująca wygląda następująco: S A I P a1 a2 b13 b14 a1 b22 a3 a4 Zastosowanie S->A: Skoro w S w obydwu wierszach jest a1, wówczas zmieniamy w A wartość w drugim wierszu b22 na a2. Mamy więc: S A I P a1 a2 b13 b14 a1 a2 a3 a4 Wiersz drugi zawiera wartości a1, a4, a więc rozkład jest bez straty danych

Następny wykład Postacie normalne