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

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

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

Systemy baz danych. Notatki z wykładu

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

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

Pojęcie zależności funkcyjnej

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

Projektowanie baz danych

Bazy danych. Andrzej Łachwa, UJ, /15

Normalizacja baz danych

Normalizacja. Pojęcie klucza. Cel normalizacji

Bazy Danych i Usługi Sieciowe

Cel normalizacji. Tadeusz Pankowski

1 Przygotował: mgr inż. Maciej Lasota

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

Normalizacja relacyjnych baz danych. Sebastian Ernst

Normalizacja schematów logicznych relacji

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

Pierwsza postać normalna

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

Bazy danych i usługi sieciowe

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

Bazy danych 3. Normalizacja baz danych

Zależności funkcyjne c.d.

Projektowanie relacyjnych baz danych

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

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

Zależności funkcyjne pierwotne i wtórne

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

Zależności funkcyjne

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

Projektowanie Systemów Informacyjnych

Baza danych. Modele danych

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Bazy Danych i Usługi Sieciowe

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

Pierwsza postać normalna

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

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

Technologie baz danych

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

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

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

Technologia informacyjna

Normalizacja baz danych

Bazy danych. Algebra relacji

1 Wstęp do modelu relacyjnego

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

Związki pomiędzy tabelami

Relacyjne bazy danych. Normalizacja i problem nadmierności danych.

Bazy danych. Andrzej Łachwa, UJ, /15

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH. Problemy w bazie danych Przykład sprowadzenia nieznormalizowanej SQL

Technologia Informacyjna

Autor: Joanna Karwowska

Postać normalna Boyce-Codd (BCNF)

Baza danych. Baza danych to:

Księgarnia PWN: Michael J. Hernandez Bazy danych dla zwykłych śmiertelników

Bazy danych w sterowaniu

Normalizacja relacji

Model relacyjny. Wykład II

Konstruowanie Baz Danych Wprowadzenie do projektowania. Normalizacja

Teoretyczne podstawy informatyki

PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

Teoretyczne podstawy informatyki

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

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

Literatura. Bazy danych s.1-1

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

Relacyjny model danych

Wykład 2. Relacyjny model danych

Plan wykładu. Problemy w bazie danych. Problemy w bazie danych BAZY DANYCH

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

Normalizacja tabel POSTACIE NORMALNE TABEL

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

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

Normalizacja schematu bazy danych. Radosław Fijołek Paweł Romanowski Paweł Trzos

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Bazy Danych 2008 Część 1 Egzamin Pisemny

Model relacyjny bazy danych

Przykłady normalizacji

Program nauczania. Systemy baz danych. technik informatyk

Dekompozycja w systemach wyszukiwania informacji

Teoretyczne podstawy informatyki

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem

Projektowanie relacyjnych baz danych

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

Normalizacja Projektowanie Diagramy encji. Bazy Danych i Systemy informacyjne Wykład 7. Piotr Syga

Normalizacja schematów relacji

Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy.

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

Bazy danych Wykład zerowy. P. F. Góra

Egzamin / zaliczenie na ocenę* 0,5 0,5

Normalizacja. Wzorce projektowe semantyka atrybutów relacji. Ocena poprawności schematu

Systemy baz danych. mgr inż. Sylwia Glińska

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Bazy danych Projektowanie i implementacja relacyjnych baz danych

Zadanie 1. Suma silni (11 pkt)

Grupa kursów: Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

Transkrypt:

PLAN WYKŁADU Zależności funkcyjne Anomalie danych Normalizacja Postacie normalne Zależności niefunkcyjne Zależności złączenia BAZY DANYCH Wykład 5 dr inż. Agnieszka Bołtuć ZALEŻNOŚCI FUNKCYJNE Niech R będzie zmienną relacyjną, X i Y zaś dowolnymi podzbiorami zbioru atrybutów R. Mówimy, że Y jest funkcyjnie zależny od X: X wtedy i tylko wtedy, gdy dla każdej dopuszczalnej legalnie wartość R każda wartość X z R jest stowarzyszona z dokładnie jedną wartością Y. Y ZALEŻNOŚCI FUNKCYJNE IdPrac NazwiskoPrac Nazwisko Adres (Firma, Towar) Cena Element danych Y jest funkcyjnie zależny od elementu danych X, jeżeli dla każdej wartości X istnieje jedna, jednoznacznie określona wartość Y. Element X nazywamy elementem determinującym, zaś element danych Y elementem zależnym (determinowanym). (Dzień, Godzina, Sala) Prowadzący, Grupa) (Przedmiot, 1

ZALEŻNOŚCI FUNKCYJNE Zależność jest trywialna wtedy i tylko wtedy, gdy prawa strona jest podzbiorem lewej strony. X Y, Y X, Zależność jest prosta, gdy prawa strona jest pojedynczym atrybutem X Ai, Zależność jest przechodnia (tranzytywna) jeśli X Y oraz Y Z to X Z. DOMKNIĘCIE ZBIORU ZALEŻNOŚCI Pewne zależności funkcyjne implikują inne, (Firma, Towar) (Firma, Towar) (Firma, Towar) (Cena, Waga) Cena Waga Domknięcie S+ zbioru zależności to zbiór wszystkich zależności funkcyjnych implikowanych danym zbiorem S zależności funkcyjnych. REGUŁY WNIOSKOWANIA AMSTRONGA REGUŁY WNIOSKOWANIA AMSTRONGA Niech A, B i C będą dowolnymi podzbiorami zbioru atrybutów relacji R, gdzie zapis AB oznacza sumę A i B. Wówczas zachodzą związki: zwrotność: jeżeli B A to A B dołączenie: jeżeli A B to AC BC przechodniość: jeżeli A B i B C to A C. Reguły te są zupełne i znaczące. Reguły dodatkowe wyprowadzone na podstawie trzech głównych reguł: samookreślenie: A A rozkład: jeżeli A BC to A B i A C suma: jeżeli A B i A C to A BC złożenie: jeżeli A B i C D to AC BD 2

NIEREDUKOWALNE ZBIORY ZALEŻNOŚCI Zbiór zależności funkcyjnych S jest nieredukowalny wtedy i tylko wtedy, gdy ma trzy własności: CELE NORMALIZACJI usunięcie redundancji, element zależny (prawa strona) każdej zależności funkcyjnej w S ma tylko jeden atrybut, element determinujący (lewa strona) każdej zależności funkcyjnej w S jest nieredukowalny, nie można pominąć żadnego atrybutu z elementu determinującego bez wpływu na S+ - taka zależność jest lewostronnie nieredukowalna, nie można usunąć żadnej zależności funkcyjnej z S bez zmiany domknięcia S+. usunięcie anomalii przy usuwaniu (efektu ubocznego usunięcia), usunięcie anomalii przy modyfikacji usuwaniu (efektu ubocznej modyfikacji), usunięcie anomalii przy wstawianiu (efektu ubocznego wstawiania). PRZYKŁAD - PRZEDMIOTY Przedmiot IdPrac NamePrac IdStud NameStud Ocena Rodzaj Bazy danych 12 Boltuc 23123 Kowalski 5 Lab Bazy danych 12 Boltuc 23123 Kowalski 4 Wyk PRZYKŁADY ANOMALII Anomalie przy usuwaniu usuwając studenta występującego w tabeli tylko raz powoduje utratę danych o przedmiocie i wykładowcy, Bazy danych 12 Boltuc 23456 Iksinski 3 Lab Bazy danych 12 Boltuc 23678 Nowak 3 Lab Bazy danych 12 Boltuc 23678 Nowak 4 Wyk Metody optymalizacji 12 Boltuc 23123 Kowalski 4.5 Lab Metody optymalizacji 12 Boltuc 23123 Kowalski 2 Lab Programowanie w Javie 4 Korniłowicz 23190 Podolski 3 Wyk Anomalie przy modyfikacji chcąc zmienić wykładowcę danego przedmiotu zmieniamy nie tylko jego nazwisko, ale i numer, Anomalie przy wstawianiu nie można dodać nowego studenta dopóki nie będzie posiadał co najmniej jednego zaliczenia. 3

NORMALIZACJA Jest procesem identyfikowania logicznych związków między elementami danych i projektowania bazy danych, która będzie reprezentować takie związki, ale bez występowania anomalii. Proces normalizacji relacji można traktować jako proces, podczas którego schematy relacji posiadające pewne niepożądane cechy są dekomponowane na mniejsze schematy relacji o pożądanych własnościach CECHY NORMALIZACJI Własność zachowania atrybutów - żaden atrybut nie zostanie zagubiony w trakcie procesu normalizacji. Własność zachowania informacji - dekompozycja relacji nie prowadzi do utraty informacji, tj. łącząc zdekomponowane relacje możemy odtworzyć oryginalną relację. Własność zachowania zależności - wszystkie zależności funkcyjne są reprezentowane w pojedynczych schematach relacji. ETAPY NORMALIZACJI Zbieranie zbioru danych, Przekształcenie zbioru danych w tabele w pierwszej postaci normalnej, Przekształcenie tabeli z pierwszej postaci normalnej w drugą postać normalną, Przekształcenie tabeli z drugiej postaci normalnej w trzecią postać normalną, Jeśli nadal występują anomalie dokonaj: Przekształcenie tabeli z trzeciej postaci normalnej w postać normalną Boyce a-codda, Przekształcenie tabeli z trzeciej postaci normalnej w czwartą postać normalną, Przekształcenie tabeli z czwartej postaci normalnej w piątą postać normalną. DEKOMPOZYCJA ODWRACALNA Proces przekształcenia nieznormalizowanego zbioru danych w pełni znormalizowana bazę danych nazywamy procesem dekompozycji odwracalnej, Polega to na podziale w każdym kroku struktury danych na coraz więcej tabel bez straty podstawowych związków zachodzących pomiędzy elementami danych. 4

ROZKŁAD STRATNY I BEZSTRATNY Firma Status Miasto A Białystok B Warszawa ROZKŁAD BEZSTRATNY Proces rozkładu jest procesem rzutowania, Operatorem ponownego składania jest złączenie naturalne względem atrybutów o tej samej nazwie. Firma A B Firma Status Status Firma A B Status Miasto Białystok Warszawa Miasto Twierdzenie Heatha Niech R będzie relacją, zaś A, B i C zbiorami atrybutów. Jeśli R spełnia zależność funkcyjną A B, wówczas relacja R jest równa złączeniu swoich rzutów (A, B) i (A, C). A Białystok B Warszawa PIERWSZA POSTAĆ NORMALNA 1NF Relacja występuje w pierwszej postaci normalnej 1NF wtedy i tylko wtedy, gdy wszystkie jej dziedziny zawierają wyłącznie wartości skalarne (atrybuty maja atomowe wartości). Relacja występuje w pierwszej postaci normalnej 1NF wtedy i tylko wtedy, gdy każdy atrybut niekluczowy jest funkcyjnie zależny od klucza głównego. 1NF Niektóre atrybuty posiadają wiele wartości, np. IdStud, NameStud, Ocena i Rodzaj powtarzaja się względem Przedmiotu, Wymienione atrybuty nie są funkcyjnie zależne od klucza głównego (Przedmiot), Atrybuty IdPrac i NamePrac są funkcyjnie zależne, Należy utworzyć dwie tabele dla funkcyjnie zależnych i niezależnych atrybutów. 5

1NF - PROPOZYCJA PODZIAŁU Przedmiot IdStud NameStud Ocena Rodzaj Bazy danych 23123 Kowalski 5 Lab Bazy danych 23123 Kowalski 4 Wyk Bazy danych 23456 Iksinski 3 Lab Bazy danych 23678 Nowak 3 Lab Bazy danych 23678 Nowak 4 Wyk Metody optymalizacji 23123 Kowalski 4.5 Lab Metody optymalizacji 23123 Kowalski 2 Lab Programowanie w Javie 23190 Podolski 3 Wyk Przedmioty Przedmiot IdPrac NamePrac Bazy danych 12 Boltuc Metody optymalizacji 12 Boltuc Programowanie w Javie 4 Kornilowicz DRUGA POSTAĆ NORMALNA 2NF Relacja występuje w drugiej postaci normalnej 2NF wtedy i tylko wtedy, gdy jest w 1NF oraz każdy niekluczowy atrybut jest w pełni funkcyjnie zależny od klucza głównego (całego a nie jego części). Relacja ma druga postać normalna wtedy i tylko wtedy, gdy jest juz w 1NF oraz każdy niekluczowy atrybut jest nieredukowalnie zależny od klucza głównego (przy założeniu, ze istnieje jeden klucz kandydujący będący kluczem głównym). 2NF Należy zbadać tabele, które mają klucze złożone i usuwać zależności od części klucza, Tabela ma klucz złożony (Przedmiot, IdStud i Rodzaj), Potrzebujemy całego klucza aby zidentyfikować ocenę, ale Przedmiot nie ma wpływu na NameStud, które jest definiowane przez IdStud, Rozdzielamy determinujące i zależne elementy na dwie tabele. 2NF PRZYKŁAD PODZIAŁU Przedmiot IdStud Ocena Rodzaj Bazy danych 23123 5 Lab Bazy danych 23123 4 Wyk Bazy danych 23456 3 Lab Bazy danych 23678 3 Lab Bazy danych 23678 4 Wyk Metody optymalizacji 23123 4.5 Lab Metody optymalizacji 23123 2 Lab Programowanie w Javie 23190 3 Wyk Przedmioty Przedmiot IdPrac NamePrac Bazy danych 12 Boltuc Metody optymalizacji 12 Boltuc Programowanie w Javie 4 Kornilowicz Studenci IdStud NameStud 23123 Kowalski 23456 Iksinski 23678 Nowak 23190 Podolski 6

TRZECIA POSTAĆ NORMALNA 3NF Relacja występuje w trzeciej postaci normalnej 3NF, wtedy i tylko wtedy, gdy jest w 2NF oraz każdy niekluczowy atrybut jest bezpośrednio zależny (a nie przechodnio zależny) od klucza głównego. 3NF Należy usuwać zależności przechodnie między danymi, Dla każdej pary niekluczowych elementów każdej tablicy zadajemy pytanie czy wartość pola A zależy od wartości pola B lub odwrotnie, jeśli tak to powiązane elementy przenoszone są do innej tabeli, IdPrac determinuje NamePrac, stąd NamePrac nie jest przechodnio zależny od Przedmiotu. 3NF PRZYKŁAD PODZIAŁU Przedmiot IdStud Ocena Rodzaj Bazy danych 23123 5 Lab Bazy danych 23123 4 Wyk Bazy danych 23456 3 Lab Bazy danych 23678 3 Lab Bazy danych 23678 4 Wyk Metody optymalizacji 23123 4.5 Lab Metody optymalizacji 23123 2 Lab Programowanie w Javie 23190 3 Wyk Przedmioty Przedmiot Bazy danych 12 Metody optymalizacji 12 Programowanie w Javie 4 IdPrac Wykładowcy IdPrac Studenci IdStud NameStud 23123 Kowalski 23456 Iksinski 23678 Nowak 23190 Podolski NamePrac 12 Boltuc 4 Kornilowicz POSTAĆ NORMALNA BOYCE A-CODDA BCNF Postać normalna Boyce a-codda jest silniejsza postacią normalną niż 3NF i ma na celu wyeliminowanie anomalii powstających w sytuacji istnienia kilku kluczy kandydujących w pewnym zbiorze wymagań dotyczących danych. Relacja znajduje się w postaci BCNF wtedy i tylko wtedy, gdy jedynymi elementami determinującymi są klucze kandydujące. Relacja ma postać BCNF wtedy i tylko wtedy, gdy elementem determinującym każdej nietrywialnej, lewostronnie nieredukowalnej zależności funkcyjnej jest klucz kandydujący. 7

BCNF Schemat w 3NF dla zagadnienia ścieżek edukacyjnych IdStud Ścieżka IdPrac 23123 Informatyka stosowana 12 23456 Informatyka teoretyczna 2 23123 Inżynieria oprogramowania 4 23456 Grafika komputerowa 5 23190 Informatyka w medycynie 8 Anomalie: aktualizacji, wstawiania, usuwania spowodowane nakładającymi się kluczami kandydującymi. BCNF PRZYKŁAD PODZIAŁU IdStud Ścieżka 23123 Informatyka stosowana 23456 Informatyka teoretyczna 23123 Inżynieria oprogramowania 23456 Grafika komputerowa 23190 Informatyka w medycynie IdPrac Ścieżka 12 Informatyka stosowana 2 Informatyka teoretyczna 4 Inżynieria oprogramowania 5 Grafika komputerowa 8 Informatyka w medycynie ZALEŻNOŚCI NIEFUNKCYJNE (WIELOWARTOŚCIOWE) Element danych B jest niefunkcyjnie zależny od elementu danych A, jeżeli dla każdej wartości elementu danych A istnieje ograniczony zbiór wartości elementu danych B. Odwzorowanie nie jest funkcyjne, gdyż jest jeden do wielu. Niech R będzie relacja, zaś A,B i C będa dowolnymi podzbiorami zbioru atrybutów R. Mówimy, ze B jest wielowartościowo zależne od A A B wtedy i tylko wtedy, gdy zbiór wartości B odpowiadający danej parze (A,C) w R zależy od wartości A i jest niezależny od wartości C. Przykład: IdPrac Język, Przedmiot Podręcznik CZWARTA POSTAĆ NORMALNA 4NF Relacja jest w 4NF jeżeli jest w postaci BCNF i wszystkie zależności wielowartościowe są zależnościami funkcyjnymi wychodzącymi z kluczy kandydujących. 8

4NF PRZYKŁAD PODZIAŁU IdPrac Umiejętność Język 12 programowanie ang 12 programowanie niem 12 projektowanie ang 4 programowanie fr 4 projektowanie niem 8 programowanie ang ZALEŻNOŚĆ ZŁĄCZENIA Niech R będzie relacją, zaś A,B,..., Z będą dowolnymi podzbiorami zbioru atrybutów R. Mówimy, że R spełnia zależność łączenia: *(A, B,..., Z) wtedy i tylko wtedy, gdy R jest równe złączeniu swoich rzutów na A,B,..., Z, IdPrac Umiejętność 12 programowanie 12 programowanie 12 projektowanie 4 programowanie 4 projektowanie 8 programowanie IdPrac Język 12 ang 12 niem 12 ang 4 fr 4 niem 8 ang Zależnościami złączenia nazywamy powiązane między sobą zależności wielowartościowe, Przykłady: *(dealer, marka, rodzaj_pojazdu). PIĄTA POSTAĆ NORMALNA 5NF 5NF - PRZYKŁAD Relacja jest w 5NF jeżeli jest w postaci 4NF i nie posiada już anomalii, które można by usunąć przy pomocy rzutowania. Dealer Marka Rodzaj_samochodu A Ford osobowy A Fiat dostawczy B Ford dostawczy B Fiat osobowy Relacja jest w 5NF jeżeli jest w postaci 4NF i nie istnieje jej rozkład odwracalny na zbiór mniejszych tabel. 9

WYKŁAD PRZYGOTOWANO NA PODSTAWIE P. Beynon-Davies, Systemy baz danych, WNT, 2003, C. J. Date, Wprowadzenie do systemów baz danych, WNT, Warszawa, 2000, http://wazniak.mimuw.edu.pl/index.php?title=bazy_ danych. 10