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

Podobne dokumenty
Bazy danych 3. Normalizacja baz danych

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

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

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

Normalizacja. Pojęcie klucza. Cel normalizacji

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

Pojęcie zależności funkcyjnej

Normalizacja relacyjnych baz danych. Sebastian Ernst

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

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

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

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

Bazy danych 2. Algebra relacji Zależności funkcyjne

Postać normalna Boyce-Codd (BCNF)

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

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

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

Projektowanie Systemów Informacyjnych

Bazy Danych i Usługi Sieciowe

Cel normalizacji. Tadeusz Pankowski

Systemy baz danych. Notatki z wykładu

WYKŁAD 1. Wprowadzenie do problematyki baz danych

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

Bazy danych i usługi sieciowe

Projektowanie relacyjnych baz danych

Bazy danych 6. Przykłady

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

Pierwsza postać normalna

Normalizacja schematów logicznych relacji

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

Normalizacja baz danych

Zależności funkcyjne c.d.

Związki pomiędzy tabelami

Normalizacja tabel POSTACIE NORMALNE TABEL

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 baz danych

Autor: Joanna Karwowska

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

Pierwsza postać normalna

Program nauczania. Systemy baz danych. technik informatyk

1 Przygotował: mgr inż. Maciej Lasota

Zależności funkcyjne pierwotne i wtórne

Bazy danych. Andrzej Łachwa, UJ, /15

Baza danych. Baza danych to:

Technologie baz danych

Normalizacja baz danych

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

Baza danych. Modele danych

Bazy danych. Andrzej Łachwa, UJ, /15

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

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

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

Normalizacja relacji

Projekt małej Bazy Danych.

Bazy danych Algebra relacji Wykład dla studentów matematyki

Bazy danych 11. Algorytmy złaczeń. P. F. Góra

WPROWADZENIE DO BAZ DANYCH

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

Bazy Danych i Usługi Sieciowe

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT.

Bazy danych 12. Bazy NoSQL. P. F. Góra

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

Projektowanie bazy danych przykład

Technologia informacyjna

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

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

Konstruowanie Baz Danych Wprowadzenie do projektowania. Normalizacja

Bazy danych 2. Relacyjny model baz danych

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

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

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

Krzysztof Kadowski. PL-E3579, PL-EA0312,

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

Projektowanie relacyjnych baz danych

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

Bazy danych 1. Pojęcia podstawowe

Bazy Danych. Projektowanie. Normalizacja. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

Projektowanie struktury danych

Hurtownie danych. 31 stycznia 2017

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

Jarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych

Wykład 2. Relacyjny model danych

ORGANIZACJA I ZARZĄDZANIE INFORMACJĄ W BAZIE DNYCH. podstawowe pojęcia.

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

Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40

Bazy danych. Zasady konstrukcji baz danych

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów

Podstawowy kurs z systemów baz danych / Jeffrey D. Ullman, Jennifer Widom. - wyd Gliwice, cop Spis treści.

Technologia Informacyjna

W poniŝszej tabeli zestawiono charakterystyki poszczególnych postaci normalnych bazy.

Projektowanie hurtowni danych i modelowanie wielowymiarowe

BAZA DANYCH. Informatyka. ZESPÓŁ SZKÓŁ ELEKTRYCZNYCH Prowadzący: inż. Marek Genge

Posługiwanie się tabelami

Najważniejsze problemy, których dostarczy nam tak zaprojektowana tabela :

Bazy danych Projektowanie i implementacja relacyjnych baz danych

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

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

Hurtownie danych a transakcyjne bazy danych

Normalizacja schematów relacji

Transkrypt:

Bazy danych 3. Normalizacja baz danych (c.d.) P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012/13

Postać normalna Boyce a-codda Tabela jest w postaci normalnej Boyce a-codda (BCNF, PNBC), jeżeli 1. Tabela jest 2PN. 2. Dla każdej zależności nietrywialnej, jeżeli A 1, A 2,..., A n A m, to zbiór {A 1, A 2,..., A n } jest nadkluczem. PNBC jest silniejsza wersja 3PN. Każda tabela będaca PNBC jest także 3PN, ale wynikanie odwrotne nie musi zachodzić. Copyright c 2010-12 P. F. Góra 3 2

Do czego dażymy? Przeprowadzajac normalizację bazy danych, staramy się jednocześnie spełnić trzy warunki: 1. Bezstratne złaczenie. 2. Zachowanie wszystkich zależności funkcyjnych. 3. PNBC. Czy zawsze jest to możliwe? Copyright c 2010-12 P. F. Góra 3 3

Rozważmy tabelę A B C z następujacymi zależnościami funkcyjnymi: C A A, B C (Na przykład: A nazwa banku, B nazwisko klienta uprawnionego do personal banking, C nazwisko bankiera. Pierwsza zależność mówi, że każdy bankier pracuje w określonym banku, druga, że każdego uprawnionego klienta w danym banku obsługuje określony bankier. Ale klient może mieć konta w więcej niż jednym banku... ) Copyright c 2010-12 P. F. Góra 3 4

Powyższa tabela nie jest PNBC, gdyż C nie może być nadkluczem. Jednak żadne rozbicie na dwie tabele dwuatrybutowe albo nie zachowuje kompletu zależności funkcyjnych, albo nie jest dekompozycja bezstratnego złaczenia, albo jedno i drugie. W tej sytuacji zadowalamy się niższa postacia normalna. Zachowanie kompletu zależności funkcyjnych oraz bezstratność złaczeń musza mieć priorytet! Nie każda tabelę daje się znormalizować do PNBC. Copyright c 2010-12 P. F. Góra 3 5

Zależności wielowartościowe Przypuśćmy, że kolumny (atrybuty) pewnej tabeli możemy podzielić na trzy wzajemnie rozłaczne podzbiory: X, Y, Z. Wybierzmy teraz pewna wartość x c X faktycznie występujac a w tabeli. Mówimy, że zbiory X, Y zwiazane sa zależnościa wielowartościowa, co zapisujemy X Y, jeżeli po utworzeniu zbioru wszystkich kombinacji x c yz faktycznie występujacych w tabeli stwierdzamy, że x c jest stowarzyszone z tymi samymi wartościami y bez względu na wartości z. Oznacza to, że zbiory Y, Z sa niezależne, czyli nie sa ze soba powiazane bezpośrednio, a co najwyżej poprzez zbiór X. Copyright c 2010-12 P. F. Góra 3 6

Mówimy, że zależność wielowartościowa X Y jest trywialna, jeżeli Y X lub X Y stanowi zbiór wszystkich atrybutów tabeli. Każda zależność funkcyjna jest zarazem zależnościa wielowartościowa (być może trywialna), jednak zależność wielowartościowa odnosi się do faktycznej instancji tabeli. Copyright c 2010-12 P. F. Góra 3 7

Przykład Nazwisko Dziecko Przedmiot Białas Anna Programowanie procesorów graficznych Białas Anna Projektowanie obiektowe Białas Jan Programowanie procesorów graficznych Białas Jan Projektowanie obiektowe Góra Katarzyna Wstęp do metod numerycznych Góra Katarzyna Bazy danych Zachodzi zależność wielowartościowa Nazwisko Dziecko. Redundancja i niebezpieczeństwo anomalii modyfikacji sa oczywiste. Copyright c 2010-12 P. F. Góra 3 8

Czwarta postać normalna Tabela jest w czwartej postaci normalnej (4PN), jeżeli 1. Tabela jest 3PN. 2. Dla każdej nietrywialnej zależności wielowartościowej A B, A jest nadkluczem. Każda tabela PNBC, która nie zawiera nietrywialnych zależności wielowartościowych, jest automatycznie w 4PN. Copyright c 2010-12 P. F. Góra 3 9

W przykładzie ze strony 8 podana tabelę należy rozbić na dwie mniejsze, o takich samych kluczach: Nazwisko Dziecko...... Nazwisko Przedmiot...... Pewne badania wskazuja, że około 20% praktycznie działajacych systemów bazodanowych zawiera tabele nie spełniajace czwartej postaci normalnej, choć spełniajace wymagania niższych postaci. Zapewnienie spełniania 4PN jest więc ważnym, choć najwyraźniej niedocenianym problemem praktycznym. Jest on ważny w szczególności dla tabel pomostowych, opisujacych zwiazki wieloargumentowe. Można co prawda zastanawiać się, czy przynajmniej część z tych tabel jest w 1PN, w szczególności, czy posiadaja klucz. Jednak wiele praktycznie działajacych RDMS dopuszcza duplikaty. Copyright c 2010-12 P. F. Góra 3 10

Normalizacja a wydajność Normalizacja baz danych dostarcza mechanizmu pozwalajacego unikać anomalii. Ma to jednak swoja cenę: Dostęp do danych w bazie znormalizowanej może być wolniejszy, gdyż RDBMS musi wykonywać złaczenia. Dlatego w wielkich bazach danych zoptymalizowanych na odczyt (na przykład w hurtowniach danych) często rezygnuje się z wyższych postaci normalnych, przechowujac dane w tabelach 1PN. To także ma swoja cenę: Wprowadzajac dane do takich tabel lub modyfikujac istniejace dane należy dołożyć szczególnej staranności, aby nie dopuścić do anomalii usuwania lub dołaczania, a szczegónie do anomalii modyfikacji (redundancja jest w tego typu bazy niejako wbudowana). Copyright c 2010-12 P. F. Góra 3 11