Konstruowanie Baz Danych Wprowadzenie do projektowania. Normalizacja

Podobne dokumenty
Normalizacja relacyjnych baz danych. Sebastian Ernst

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

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

Pojęcie zależności funkcyjnej

Normalizacja baz danych

Indeksowane rodziny zbiorów

Bazy Danych i Usługi Sieciowe

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

Bazy danych 1. Wykład 6 Metodologia projektowania baz danych. (projektowanie logiczne - Normalizacja)

Systemy baz danych. Notatki z wykładu

Normalizacja. Pojęcie klucza. Cel normalizacji

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

Cel normalizacji. Tadeusz Pankowski

Podstawy modelowania w j zyku UML

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

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

Bazy danych Podstawy teoretyczne

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

Bazy danych. Plan wykładu. Dekompozycja relacji. Anomalie. Wykład 5: Projektowanie relacyjnych schematów baz danych. SQL - funkcje grupujce

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Bazy danych i usługi sieciowe

Bazy danych. Andrzej Łachwa, UJ, /15

Pierwsza postać normalna

Bazy danych 3. Normalizacja baz danych

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

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Zależności funkcyjne pierwotne i wtórne

Zbiory i odwzorowania

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

W poprzednim odcinku... Podstawy matematyki dla informatyków. Relacje równowa»no±ci. Zbiór (typ) ilorazowy. Klasy abstrakcji

Projektowanie Systemów Informacyjnych

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

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

Wyra»enia logicznie równowa»ne

Metody dowodzenia twierdze«

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

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

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

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

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

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

Ukªady równa«liniowych

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

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

Projektowanie relacyjnych baz danych

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

Granular Computing 9999 pages 15 METODY SZTUCZNEJ INTELIGENCJI - PROJEKTY

Technologie baz danych

System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy

Funkcje wielu zmiennych

Baza danych. Modele danych

Mierzalne liczby kardynalne

Bazy Danych i Usługi Sieciowe

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

System Zarządzania Relacyjną Bazą Danych (SZRBD) Microsoft Access 2010

Zależności funkcyjne

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

Bazy danych. Plan wykładu. Pierwsza posta normalna. Druga posta normalna. Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML

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

Podstawy modelowania w j zyku UML

Związki pomiędzy tabelami

Metody numeryczne i statystyka dla in»ynierów

Technologia informacyjna

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Baza danych - Access. 2 Budowa bazy danych

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

Pierwsza postać normalna

ELEMENTARNA TEORIA LICZB. 1. Podzielno±

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Normalizacja schematów logicznych relacji

Relacyjny model danych

*** Teoria popytu konsumenta *** I. Pole preferencji konsumenta 1. Przestrze«towarów 2. Relacja preferencji konsumenta 3. Optymalny koszyk towarów

Zależności funkcyjne c.d.

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

2 Liczby rzeczywiste - cz. 2

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

Autor: Joanna Karwowska

Funkcje, wielomiany. Informacje pomocnicze

r = x x2 2 + x2 3.

Metodydowodzenia twierdzeń

Bazy danych Projektowanie i implementacja relacyjnych baz danych

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

Egzamin z baz danych 3 lutego 2012 Zadania i omówienie rozwi za«

Ekonometria - wykªad 8

Biostatystyka, # 5 /Weterynaria I/

Funkcje wielu zmiennych

Modele wielorównaniowe. Problem identykacji

Matematyka wykªad 1. Macierze (1) Andrzej Torój. 17 wrze±nia Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

PRZYPOMNIENIE Ka»d przestrze«wektorow V, o wymiarze dim V = n < nad ciaªem F mo»na jednoznacznie odwzorowa na przestrze«f n n-ek uporz dkowanych:

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Projekt konceptualny z Baz Danych "Centralny system zarz dzania salami na AGH"

Równania ró»niczkowe I rz du (RRIR) Twierdzenie Picarda. Anna D browska. WFTiMS. 23 marca 2010

Elementy geometrii w przestrzeni R 3

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

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

Macierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

I Rok LOGISTYKI: wykªad 2 Pochodna funkcji. iloraz ró»nicowy x y x

Transkrypt:

Studia podyplomowe In»ynieria oprogramowania wspóªnansowane przez Uni Europejsk w ramach Europejskiego Funduszu Spoªecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarz dzania projektami w rmach informatycznych realizowany w ramach Programu Operacyjnego Kapitaª Ludzki Konstruowanie Baz Danych Wprowadzenie do projektowania. Normalizacja Antoni Lig za ligeza@agh.edu.pl http://home.agh.edu.pl/~ligeza http://home.agh.edu.pl/~ligeza/wiki

Projektowanie Baz Danych Normalizacja 2 Projektowanie Baz Danych Zale»no±ci funkcyjne, postacie normalne i normalizacja Antoni Lig za ligeza@agh.edu.pl http://galaxy.uci.agh.edu.pl/~ligeza

Projektowanie Baz Danych Normalizacja 3 Przykªad 1 bª dny projekt schematu tabeli Naruszenie 2 NF Tabela DostawcyTowary dostawca adres towar cena ----------+--------+--------+------ Budex Kraków cegªa 1.20 Budex Kraków pustak 3.20 Murex Tarnów cegªa 1.10 Murex Tarnów pustak 2.90 Budex Kraków papa 4.30 Problemy Redundancja niepotrzebnie powtarzany adres dostawcy, Anomalie przy modykacji adres zmodykowany w jednym wierszu mo»e pozosta niezmieniony w innych, Anomalie przy wstawianiu nie mo»na wstawi dostawcy bez towaru, Anomalie przy usuwaniu usuwaj c informacj o towarach mo»na usun dostawc. Zale»no±ci funkcyjne: Klucz: {dostawca, towar} dostawca adres dostawca, towar cena

Projektowanie Baz Danych Normalizacja 4 Przykªad 2 bª dny projekt schematu tabeli Naruszenie 3NF Tabela PracownicyFirmy id_prac nazwisko firma adres ---------+------------+-------+-------- MF101 Kowalski Budex Kraków MF102 Kowalowski Budex Kraków MF103 Maliniak Murex Tarnów MF104 Malinowski Murex Tarnów MF105 Mamo«Budex Kraków Problemy Redundancja niepotrzebnie powtarzany adres rmy, Anomalie przy modykacji adres zmodykowany w jednym wierszu mo»e pozosta niezmieniony w innych, Anomalie przy wstawianiu nie mo»na wstawi rmy bez pracownika, Anomalie przy usuwaniu usuwaj c wszystkich pracowników usuwamy rm. Zale»no±ci funkcyjne: id_prac nazwisko id_prac firma firma adres Klucz: {id_prac}

Projektowanie Baz Danych Normalizacja 5 Zale»no±ci funkcyjne Denicja 1 Niech R(A 1, A 2,..., A n ) b dzie schematem pewnej relacji, oraz niech X, Y {A 1, A 2,..., A n }. Istnieje zale»no± funkcyjna (X wyznacza funkcyjnie Y ): X Y wtedy i tylko wtedy, gdy dla dowolnej relacji T o schemacie R(A 1, A 2,..., A n ), dla dowolnych krotek t 1, t 2 T je»eli π X (t 1 ) = π X (t 2 ) to tak»e π Y (t 1 ) = π Y (t 2 ) Zale»no± funkcyjna pomi dzy zbiorami atrybutów X oraz Y oznacza,»e ka»demu zestawowi warto±ci atrybutów X odpowiada dokªadnie jeden zestaw warto±ci atrybutów Y. Zale»no± trywialna: gdy Y X. X Y Zale»no± prosta (prawa strona jest pojedynczym atrybutem): X A i Zale»no± tranzytywna (przechodnia): X Y gdy nie zachodzi Y X. Y Z

Projektowanie Baz Danych Normalizacja 6 Przykªady zale»no±ci funkcyjnych Rozkªad zaj uczelni Rozwa»my relacj R opisuj c rozkªad zaj uczelni o schemacie: R(D, H, S, G, P, C) gdzie: D dzie«, H godzina, S sala, G grupa studencka, P prowadz cy zaj cia, C przedmiot/kurs. W powy»szym schemacie istniej zale»no±ci funkcyjne, np.: D, H, S G, P, C D, H, G S, P, C D, H, P S, G, C W konkretnym systemie mog te» istnie inne zale»no±ci, np. D, H, C S, G, P P C.

Projektowanie Baz Danych Normalizacja 7 Wªasno±ci zale»no±ci funkcyjnych zale»no±ci funkcyjne s wªasno±ci schematu relacji a nie relacji jako takiej (danych), zale»no±ci funkcyjne mog by obiektywne (wynika z wªasno±ci systemu) lub subiektywne (z zaªo»e«, wymaga«, przepisów), istnienia zale»no±ci funkcyjnych nie dowodzi si ; mo»na je zaobserwowa lub zaªo»y, wybór zale»no±ci mo»e by arbitralny; nale»y do eksperta, wybór zale»no±ci ma wpªyw na projekt bazy danych, nie uwzgl dnienie zale»no±ci funkcyjnych mo»e prowadzi do problemów (redundancji, anomalii), zale»no±ci funkcyjne mog implikowa inne zale»no±ci funkcyjne, wskazane jest ograniczenie zbioru zale»no±ci poprzez eliminacj zale»no- ±ci nadmiarowych do ograniczonego zbioru F. 1. Rozwa»amy tylko zale»no±ci gdzie prawa strona jest pojedynczym atrybutem postaci X A, 2. Ze zbioru zale»no±ci F nie mo»na usun»adnej zale»no±ci F \{X A} nie jest równowa»ne F, 3. Ka»da zale»no± zbioru F jest peªna, tzn. dla ka»dego Z X, F \ {X A} {Z A} nie jest równowa»ne F

Projektowanie Baz Danych Normalizacja 8 Domkni cie tranzytywne zbioru atrybutów Denicja 2 Domkni ciem tranzytywnym zbioru atrybutów U wzgl dem zbioru (przy danych) zale»no±ci funkcyjnych F nazywamy zbiór U + : U + = {A U : U A} Algorytm generacji domkni cia tranzytywnego 1. Dane: U, F. 2. U 0 = U. 3. U i+1 = U i {A : X Y F, X U i, A Y }. 4. Je»eli U i+1 = U i to stop; U + = U i. Powy»szy algorytm umo»liwia generacj zbioru U + wszystkich atrybutów zale»nych funkcyjnie od U. Zastosowania: 1. Umo»liwia znalezienie wszystkich atrybutów zale»nych funkcjonalnie od U. 2. Umo»liwia generacj wszystkich zale»no±ci prostych postaci U A. 3. Umo»liwia sprawdzenie czy danych zbiór U jest kluczem (nadkluczem). 4. Umo»liwia generacj wszystkich kluczy (podziaª na atrybuty kluczowe i niekluczowe). 5. Umo»liwia sprawdzenie, czy dana zale»no± funkcyjna jest peªna (od caªej lewej strony).

Projektowanie Baz Danych Normalizacja 9 Logiczne implikacje zale»no±ci funkcyjnych i Aksjomaty Armstronga Denicja 3 Zale»no± funkcyjna X Y jest logiczn konsekwencj zbioru zale»no±ci F, co notujemy F = X Y, wtedy i tylko wtedy, gdy ka»dy schemat relacji R w którym zachodz zale»- no±ci F speªnia równie» X Y. Aksjomaty Armstronga A1 Zwrotno± : Je»eli Y X U to X Y jest logiczn konsekwencj F. A2 Rozszerzanie: Je»eli X Y oraz Z U to zachodzi X, Z Y, Z. A3 Przechodnio± : Je»eli X Y oraz Y Z to zachodzi X Z. Aksjomaty Armstronga stanowi peªny zbiór reguª i pozwalaj wygenerowa wszystkie logiczne konsekwencje zale»no±ci funkcyjnych F +, tzn. domkni cie przechodnie zbioru F. Twierdzenia wynikaj ce z powy»szych aksjomatów: Reguªa sumowania: {X Y, X Z} = X Y, Z; Reguªa pseudoprzechodnio±ci: {X Y ; W, Y Z} = X, W Z; Reguªa rozkªadania: Je»eli {X Y } oraz Z Y to X Z; Twierdzenie 1 (F = X Y ) (Y X + )

Projektowanie Baz Danych Normalizacja 10 Rozkªad relacji Denicja 4 Niech U = {A 1, A 2,..., A n } A, B, C U. Rozkªadem relacji R o schemacie R(A) na dwie relacje R 1 (B) oraz R 2 (C) nazywamy zast pienie relacji R relacjami R 1 oraz R 2 takimi,»e R 1 = π B (R), R 2 = π C (R), B C = A. Rozkªad powinien zachowywa : informacj : dla ka»dej relacji R π B (R) π C (R) = R, zale»no±ci funkcyjne: (π B (F ) π C (F )) + = F + gdzie π Z (F ) = {X Y F : X Y Z} Twierdzenie 2 Rozkªad relacji R na R 1 oraz R 2 zachowuje informacj wtedy i tylko wtedy gdy (R 1 R 2 ) (R 1 \ R 2 ) F + lub (R 1 R 2 ) (R 2 \ R 1 ) F +.

Projektowanie Baz Danych Normalizacja 11 Uwagi Racjonalne warunki rozkªadu relacji zachowanie wszystkich atrybutów, nie rozkªadanie z naruszeniem zale»no±ci funkcyjnych, rozkªadanie z wydzieleniem zale»no±ci funkcyjnej. Przykªad 1: U = {D, A, T, C}, F = {D A; D, T C} R 1 = {D, A}, R 2 = {D, T, C}. Sprawdzenie: R 1 \ R 2 = {A}, R 1 R 2 = {D}, D A F ; rozkªad zachowuje informacj i zale»no±ci funkcyjne. Przykªad 2: U{ID, N, F, A}, F = {ID N; ID F ; F A}. R 1 = {ID, N, F }, R 2 = {F, A}. Sprawdzenie: R 2 \ R 1 = {A}, R 1 R 2 = {F }, F A F ; rozkªad zachowuje informacj i zale»no±ci funkcyjne. Przykªad 3: U = {M, U, K}, F = {M, U K; K M} Brak mo»liwo±ci sensownego rozkªadu relacji.

Projektowanie Baz Danych Normalizacja 12 Postacie normalne 1NF, 2NF i 3NF Pierwsza posta normalna 1NF Denicja 5 Relacja jest w pierwszej postaci normalnej (1NF) wtedy i tylko wtedy gdy wszystkie dane s atomiczne (regularna tablica prostok tna, na przeci ciu ka»dego wiersza i kolumny dana atomiczna). Relacja daj ca sie reprezentowa w postaci tabeli bazodanowej w zadzie jest w pierwszej postaci normalnej. Druga posta normalna 2NF Denicja 6 Relacja jest w drugiej postaci normalnej (2NF) wtedy i tylko wtedy gdy jest w pierwszej postaci normalnej oraz wszystkie atrybuty niekluczowe s w peªni funkcjonalnie zale»ne od wszystkich kluczy. Naruszenie drugiej postaci normalnej wymaga istnienia klucza zªo»onego i atrybutu niekluczowego; atrybut taki musi by zale»ny funkcyjnie od fragmenty tego klucza. Trzecia posta normalna 3NF Denicja 7 Relacja jest w trzeciej postaci normalne (3NF) wtedy i tylko wtedy gdy jest w drugiej postaci normalnej (2NF) oraz wszystkie atrybuty niekluczowe s w bezpo±rednio zale»ne od wszystkich kluczy. Naruszenie trzeciej postaci normalnej wymaga istnienia zale»no±ci tranzytywnej od klucza dla atrybutu niekluczowego.

Projektowanie Baz Danych Normalizacja 13 Postacie normalne BCNF Posta normalna Boyce'a-Codda BCNF Denicja 8 Relacja jest w postaci normalnej Boyce'a-Codda (BCNF) wtedy i tylko wtedy gdy wszystkie zale»no±ci kluczowe s zale»no±ciami od kluczy. Naruszenie trzeciej postaci normalnej wymaga istnienia zale»no±ci funkcyjnej tranzytywnej lub od fragmentu klucza. Ka»da relacja daje sie sprowadzi do 3NF i cz sto do BCNF; relacja z przykªadu 3 jest w 3NF ale nie w BCNF. Algorytm normalizacji Post powanie normalizacyjne (lub sprawdzenie) przeprowadzamy dla ka»dej tablicy RBD. 1. Identykacja zale»no±ci funkcyjnych zbiór F. 2. Generacja wszystkich kluczy; podziaª atrybutów na kluczowe i niekluczowe. 3. Sprawdzenie 2NF: czy s atrybuty niekluczowe zale»ne od fragmentu klucza? Je»eli tak normalizacja przez dekompozycj relacji. 4. Sprawdzenie 3NF: czy s atrybuty niekluczowe zale»ne tranzytywnie od klucza? Je»eli tak normalizacja poprzez dekompozycje relacji. 5. Sprawdzenie BCNF czy s zale»no±ci nie od klucza? Je»eli tak próba dekompozycji. 6. Analiza denormalizacyjna.

Projektowanie Baz Danych Normalizacja 14 Zªote rady Rozpoznawanie 2NF i 3NF 2NF warunki wystarczaj ce: istniej tylko klucze proste, wszystkie atrybuty s kluczowe (brak atrybutów niekluczowych. 3NF warunki wystarczajace: wszystkie atrybuty s kluczowe (brak atrybutów niekluczowych, brak zale»no±ci tranzytywnych. Zasady projektowania Jeden obiekt jedna tablica. Atrybuty <> obiekty. Atomiczno± atrybutów. Atrybuty tylko raz, przy swoim obiekcie. Encje asocjacyjne osobne tablice. Dekompozycja M:N do 1:N. Eliminacja redundancji.

Projektowanie Baz Danych Normalizacja 15 Przykªady Systemy nietrywialne baza danych dla koleji, baza danych dla MPK, lotnicze bazy danych, banki, SOPD, Dyplomant, baza danych parai (ksi gi metrykalne), sklep z cz ±ciami elektronicznymi, telekomunikacja, dane uzaleznione przestrzennie i czasowo, dziaªki, drogi, mapy.

Projektowanie Baz Danych Normalizacja 16 Studia podyplomowe In»ynieria oprogramowania wspóªnansowane przez Uni Europejsk w ramach Europejskiego Funduszu Spoªecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarz dzania projektami w rmach informatycznych realizowany w ramach Programu Operacyjnego Kapitaª Ludzki