Zależności funkcyjne pierwotne i wtórne

Podobne dokumenty
Bazy danych. Andrzej Łachwa, UJ, /15

Bazy danych. Andrzej Łachwa, UJ, /15

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

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

Bazy Danych i Usługi Sieciowe

Systemy baz danych. Notatki z wykładu

Bazy danych i usługi sieciowe

Normalizacja. Pojęcie klucza. Cel normalizacji

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

Pojęcie zależności funkcyjnej

Normalizacja baz danych

Technologie baz danych

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

Cel normalizacji. Tadeusz Pankowski

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

Normalizacja relacyjnych baz danych. Sebastian Ernst

Bazy danych 3. Normalizacja baz danych

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

Zależności funkcyjne

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

WYKŁAD 1. Wprowadzenie do problematyki baz danych

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

1 Przygotował: mgr inż. Maciej Lasota

Projektowanie relacyjnych baz danych

Projektowanie Systemów Informacyjnych

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

Pierwsza postać normalna

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

Normalizacja schematów logicznych relacji

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

Projektowanie baz danych

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

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

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

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

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

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

Postać normalna Boyce-Codd (BCNF)

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

Model relacyjny. Wykład II

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

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

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

Konstruowanie Baz Danych Wprowadzenie do projektowania. Normalizacja

Związki pomiędzy tabelami

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

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

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

Technologia informacyjna

Zależności funkcyjne c.d.

Bazy Danych 2008 Część 1 Egzamin Pisemny

Pierwsza postać normalna

Bazy danych Projektowanie i implementacja relacyjnych baz danych

1 Wstęp do modelu relacyjnego

Projektowanie relacyjnych baz danych

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

2. Z czego składają się dane w bazie? Odp.: Z jednostek elementarnych. 3. Czym są dane strukturalne? Odp.: Są to liczby, napisy, daty etc.

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

Tadeusz Pankowski Definicja. Definicja

Relacyjny model danych

Bazy Danych i Usługi Sieciowe

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

Technologia Informacyjna

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

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

Wykład 2. Relacyjny model danych

Baza danych. Baza danych to:

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

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

Normalizacja relacji z atrybutami rozmytymi poziomu drugiego

Andrzej Wiśniewski Logika II. Wykłady 10b i 11. Semantyka relacyjna dla normalnych modalnych rachunków zdań

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

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

Normalizacja 1NF, 2NF, 3NF, BCNF, 4NF, 5NF

Bazy Danych. pok. 103, D-4 tel dr inż. Mariusz Kopeć.

Baza danych. Modele danych

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

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

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

Normalizacja baz danych

Model relacyjny bazy danych

Autor: Joanna Karwowska

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

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

Bazy danych. Dr inż. Paweł Kasprowski

Transformacja modelu ER do modelu relacyjnego

Model relacyjny. Wykład II

Transformacja modelu ER do modelu relacyjnego

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

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

Sztuczna Inteligencja Projekt

Wykład XII. optymalizacja w relacyjnych bazach danych

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

Bazy danych. Algebra relacji

Modelowanie konceptualne model EER

Teoretyczne podstawy informatyki

Zaawansowane Modelowanie I Analiza Systemów Informatycznych

Bazy danych. Andrzej Łachwa, UJ, /15

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE

WPROWADZENIE DO BAZ DANYCH

Transkrypt:

Zależności funkcyjne pierwotne i wtórne W praktyce, w przypadku konkretnej bazy danych, nie jest zwykle możliwe (ani potrzebne), by projektant określił wszystkie zależności funkcyjne na etapie analizy świata danych. Projektant bazy danych określa więc tylko zależności funkcyjne ewidentne z punktu widzenia semantyki modelowanego świata (nazwijmy je pierwotnymi), a następnie oblicza się w sposób zautomatyzowany te zależności, które wynikają z pierwotnych.

Wprowadza się dwa pojęcia: pojęcie domknięcia F+ zbioru zależności funkcyjnych F oraz pojęcie domknięcia X+ zbioru atrybutów X względem F. Domknięcie F+ to zbiór zależności pierwotnych (tworzących zbiór F) oraz zależności, które można wywnioskować z tamtych. Każda taka nowa zależność musi mieć tę własność, że będzie spełniona dla każdego zbioru danych spełniającego zależności ze zbioru F. Jak zbudować F+?

W 1974 W. Armstrong wykazał, że minimalnym zbiorem reguł wnioskowania potrzebnych do zbudowania domknięcia jest zbiór złożony z reguły zwrotności (R1), reguły zwiększania (R2) i reguły przechodniości (R3). W literaturze są one zwane aksjomatami Armstronga. W praktyce używa się również wtórej reguły: reguły dekompozycji (R4). Systematyczny sposób budowania domknięcia F+ zbioru zależności funkcyjnych F polega na tym, że dla każdej zależności funkcyjnej X Y tworzy się X X+ gdzie X+ to domknięcie zbioru X względem zbioru zależności F. Wszystkie utworzone w ten sposób zależności X X+ tworzą domknięcie F+.

Algorytm obliczania domknięcia zbioru X+ := X repeat old X+:= X+ for each zależność funkcyjna Y Z w F do if old X+VY then old X+:= X+UZ; until (X+ = old X+);

Dwa zbiory zależności funkcyjnych E i F są równoważne jeżeli mają takie same domknięcia: E+=F+. Od projektanta bazy danych wymagamy, by rozpoznał dowolny zbiór pierwotnych zależności funkcyjnych, ale taki, którego domknięcie obejmie wszystkie zależności funkcyjne. Różni projektanci mogą zaproponować różne zbiory zależności pierwotnych, ale muszą być one w powyższym sensie równoważne. Por. R.Elmasri, str. 330-337

Normalizacja Proces prowadzi do kolejnych, coraz lepszych poziomów normalizacji zwanych postaciami normalnymi: pierwszą, drugą, trzecią, Boyce'a-Codda, czwartą i piątą (1NF, 2NF, 3NF, BCFN, ). Proces normalizacji realizujemy przez dekompozycję schematów relacji. Proces ten musi brać pod uwagę właściwość złączenia bezstratnego i właściwość zachowania zależności. Ta druga może być niekiedy pomijana. Atrybut relacji nazywamy podstawowym (prymarnym), gdy należy do któregokolwiek klucza kandydującego. Gdy nie należy do żadnego klucza, to nazywamy go nieprymarnym.

1NF Każdy schemat relacji musi posiadać klucz główny. Dziedzina każdego atrybutu musi zawierać wyłącznie wartości niepodzielne (atomowe), a wartość każdego atrybutu krotki musi być pojedynczą wartością z dziedziny. W takiej sytuacji każdy atrybut jest funkcyjnie zależny od klucza.

BŁĄD 1 Macierze lub listy są ukryte w tabeli poprzez spłaszczenie faktycznej struktury. BŁĄD 2 Używanie kilku kolumn, które mają tę samą wartość semantyczną. BŁĄD 3 Lista wartości wpisana do łańcucha znaków.

2NF Schemat jest w 1NF i żaden nieprymarny atrybut nie jest częściowo zależny od dowolnego klucza. Mówimy krótko, że w tej postaci nie występują zależności częściowe. Rozkład schematu do 2NF polega na pozbyciu się zależności częściowych.

3NF Zależność X A jest nazywana nietrywialną, gdy A nie jest elementem zbioru X. Schemat jest w 2NF i dla każdej nietrywialnej zależności X A albo X jest nadkluczem albo A jest prymarny. Innymi słowy, żaden nieprymarny atrybut nie jest przechodnio zależny od klucza. Musi zależeć od klucza, całego klucza i tylko od klucza! Rozkład schematu do 3NF polega na pozbyciu się zależności przechodnich.

BCNF Jest to silniejsza wersja 3NF. Wymaga się, by dla każdej nietrywialnej zależności X A zbiór atrybutów X był nadkluczem. Przeczytaj rozdział 10 [Ramez Elmasri, Shamkant B. Navathe] Zob. wykład o normalizacji na http://wazniak.mimuw.edu.pl/

Rozkład schematu na podschematy: Praca (NrPracownika, NrProjektu, Data, IleGodzin, Imię, Nazwisko, Termin) KartaPracy (NrPracownika, NrProjektu, Data, IleGodzin) Pracownik (NrPracownika, Imię, Nazwisko) Projekt (NrProjektu, Termin)

Rozkład schematu na podschematy: Uczniowie (NrUcznia, NrKlasy, Wychowawca) Uczniowie (NrUcznia, NrKlasy) Klasy (NrKlasy, Wychowca)

Przykład {UCZEŃ*, JĘZYK*, NAUCZYCIEL} {UCZEŃ, JĘZYK} NAUCZYCIEL NAUCZYCIEL JĘZYK Są możliwe trzy rozkłady: {UCZEŃ*, NAUCZYCIEL*}, {UCZEŃ*, JĘZYK} {JĘZYK, NAUCZYCIEL*}, {JĘZYK*, UCZEŃ*} {NAUCZYCIEL*, JĘZYK}, {NAUCZYCIEL*, UCZEŃ*} Tylko trzeci rozkład, po złączeniu, nie będzie generował fałszywych krotek!