Bazy danych. Andrzej Łachwa, UJ, /15

Podobne dokumenty
Zależności funkcyjne pierwotne i wtórne

Bazy danych. Andrzej Łachwa, UJ, /15

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

Systemy baz danych. Notatki z wykładu

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

Normalizacja. Pojęcie klucza. Cel normalizacji

Normalizacja baz danych

Pojęcie zależności funkcyjnej

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

Bazy Danych i Usługi Sieciowe

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.

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

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

Cel normalizacji. Tadeusz Pankowski

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

Bazy danych i usługi sieciowe

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

Bazy danych 3. Normalizacja baz danych

Technologie baz danych

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

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

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

Zależności funkcyjne

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

Projektowanie relacyjnych baz danych

1 Wstęp do modelu relacyjnego

Pierwsza postać normalna

Normalizacja relacyjnych baz danych. Sebastian Ernst

Model relacyjny. Wykład II

Bazy Danych i Usługi Sieciowe

Normalizacja schematów logicznych relacji

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

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

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

Bazy danych. Algebra relacji

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Projektowanie baz danych

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

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

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

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

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.

Postać normalna Boyce-Codd (BCNF)

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

Tadeusz Pankowski Definicja. Definicja

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

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

Wykład 2. Relacyjny model danych

Pierwsza postać normalna

Technologia informacyjna

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

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

Zależności funkcyjne c.d.

Związki pomiędzy tabelami

1 Przygotował: mgr inż. Maciej Lasota

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

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

Bazy Danych 2008 Część 1 Egzamin Pisemny

Relacyjny model danych

Projektowanie relacyjnych baz danych

Baza danych. Baza danych to:

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

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

Model relacyjny. Wykład II

Konstruowanie Baz Danych Wprowadzenie do projektowania. Normalizacja

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

Model relacyjny bazy danych

Baza danych. Modele danych

Bazy danych Projektowanie i implementacja relacyjnych baz danych

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

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

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

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

Bazy danych. Andrzej Łachwa, UJ, /14

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

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski

Semantyka rachunku predykatów

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

- Przedmiot kończy się egzaminem - Egzamin ma formę testu teoretycznego

Bazy danych w sterowaniu

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

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Normalizacja relacji z atrybutami rozmytymi poziomu drugiego

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

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

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

Program nauczania. Systemy baz danych. technik informatyk

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

WPROWADZENIE DO BAZ DANYCH

Literatura. Bazy danych s.1-1

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

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

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

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

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

Przykłady normalizacji

Transformacja modelu ER do modelu relacyjnego

Teoretyczne podstawy informatyki

Normalizacja baz danych

Transkrypt:

Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 10/15

Semantyka schematu relacyjnej bazy danych Schemat bazy danych składa się ze schematów relacji i więzów integralności. Każdy schemat relacji ma atrybuty. Atrybuty posiadają znaczenia związane z rzeczywistością, której strukturę informacji odzwierciedlono w schemacie. Relacją opartą na schemacie nazywamy konkretny zbiór krotek zgodnych ze strukturą i spełniający przyjęte więzy integralności. Każdą relację opartą na schemacie interpretuje się jako zbiór zdań lub faktów opisujących obszar analizy.

Jeżeli projekt koncepcyjny zostanie wykonany starannie, a po nim dokona się systematycznego odwzorowania na relacje, większość materiału semantycznego zostanie uwzględniona i projekt wynikowy będzie niemal na pewno zrozumiały. Ogólnie rzecz biorąc, im łatwiej jest objaśnić znaczenie relacji, tym lepszy jest projekt jej schematu. Ramez Elmasri, Shamkant B. Navathe, str. 321

Właściwe pogrupowanie atrybutów w schematy relacji ma ogromny wpływ przestrzeń pamięciową zajmowaną przez bazę. Źle zaprojektowany schemat prowadzi do niepotrzebnego zwiększenia koniecznej do przechowywania danych przestrzeni pamięciowej i powoduje m.in. anomalie wstawiania, anomalie usuwania i anomalie modyfikowania. W razie występowania w schematach pewnych anomalii tego rodzaju należy je dokładnie opisać i zapewnić, by procedury aktualizacji danych działały, mimo tych anomalii, poprawnie.

Należy unikać sytuacji, kiedy w wielu krotkach występują wartości NULL. Prowadzi to do zwiększenie przestrzeni pamięciowej oraz do trudności interpretacyjnych. Wartości puste mogą występować tylko w sytuacjach wyjątkowych i trzeba zadbać o to, by były zawsze właściwie interpretowane. Oto trzy często stosowane interpretacje wartości pustej: atrybut nie ma zastosowania, wartość atrybutu nie jest znana, wartość jest znana, ale jest nieobecna.

Należy unikać schematów, w których występują pasujące do siebie atrybuty, nie tworzące par (klucz główny, klucz obcy). Złączenia naturalne wykonane po takich atrybutach zwykle prowadzą do powstawania tzw. fałszywych krotek, tj. informacji, które nie odpowiadają opisywanej rzeczywistości. Aby atrybuty były właściwie pogrupowane w schematy, schematy te były łatwe do interpretacji w obszarze analizy i nie pojawiały się wymienione wyżej problemy, to oprócz starannie wykonanego i przemyślanego diagramu, oraz poprawnego mapowania na schemat relacyjnej bazy trzeba jeszcze przeprowadzić proces NORMALIZACJI.

Zależności funkcyjne Wszystkie atrybuty schematu relacyjnej bazy danych nazwiemy, w celu ułatwienia prezentacji pewnych problemów teoretycznych, relacją uniwersalną schematu. R = {A 1, A 2, A n } Zależność funkcyjna to wiązanie integralności między atrybutami: X A, gdzie XTR i AXR, które oznacza, że dla dowolnych krotek stanowiących relację r(r) jeżeli t 1 [X]=t 2 [X] to t 1 [A]=t 2 [A].

Innymi słowy, wartości atrybutów tworzących zbiór X krotki t relacji r(r) jednoznacznie determinują wartość tej krotki dla atrybutu A. Zależność funkcyjna jest własnością schematu R i ma być spełniona przez wszystkie relacje r(r) rozpięte na tym schemacie. Dla uproszczenia zapisów przymujemy, że X Y, gdzie XTR i AXR, oznacza X A 1, X A 2, X A k, gdzie { A 1, A 2, A k } = Y.

Dla danego schematu relacji o atrybutach tworzących zbiór X, jeżeli Y jest kluczem kandydującym, to Y Z dla dowolnego podzbioru Z zbioru atrybutów X. Jest tak dlatego, że gdy Y jest kluczem, to każda krotka ma inną wartość na atrybutach Y. Uwaga: przyjmujemy, że klucz kandydujący jest kluczem minimalnym, tzn., że nie można z niego usunąć żadnego atrybutu bez utraty własności identyfikowania krotek.

Zależność funkcyjna jest własnością semantyczną(!), a nie własnością formalną. Zależność funkcyjna jest odkrywana przez projektanta. Nie da się jej udowodnić. Można ją tylko uzasadnić właściwościami obszaru analizy. Podobnie jest z innymi więzami integralności. Określenie dziedziny atrybutu, możliwość przyjmowania wartości pustej i jej interpretacja, określenie kluczy kandydujących i wybranie klucza głównego to wszystko decyzje projektanta oparte na jego znajomości obszaru analizy.

Projektant określa zależności funkcyjne schematu R, które są semantycznie oczywiste. Niech będzie to zbiór zależności F. Czy dla wszystkich relacji r(r) rozpiętych na tym schemacie mogą istnieć jakieś inne zależności funkcyjne (nie wskazane przez projektanta)? Zwykle tak. Można je wydedukować ze zbioru zależności F i pewnych reguł. Wszystkie zależności zbioru F i wszystkie zależności funkcyjne które można wydedukować ze zbioru F nazywamy domknięciem tego zbioru i oznaczamy F +.

Reguły wnioskowania dla zależności funkcyjnych ⱶ X X (zwrotność) X Y ⱶ XZ YZ (powiększanie) X Y, Y Z ⱶ X Z (przechodniość) X YZ ⱶ X Y (dekompozycja) X Y, X Z ⱶ X YZ (sumowanie) X Y, WY Z ⱶ WX Z (pseudoprzechodniość) gdzie napis PQ oznacza dla atrybutów {P, Q} a dla zbiorów atrybutów P U Q, oraz ⱶ jest znakiem inferencji.

Pierwsze trzy reguły noszą nazwę aksjomatów Armstronga, albo (lepiej) reguł wnioskowania Armstronga. Mają one tę własność, że można z nich wyprowadzić pozostałe reguły, ale nie można usunąc żadnej z nich, bo stracą tę własność. Domknięcie zbioru zależności F można zatem uzyskać stosując do tych zależności reguły Armstronga. Robi się to zwykle poprzez domknięcie każdego zbioru X (stojącego po lewej stronie zależności funkcyjnej) względem zbioru zależności F. Dwa zbiory zależności funkcyjnych E i F są równoważne wtw gdy E + = F +.

Algorytm domknięcia zbioru X wględem F X + := X; repeat oldx + := X + ; for each zależność funkcyjna Y Z w F do if X + VY then X + := X + U Z; until X + = oldx + ; O minimalnych zbiorach zależności funkcyjnych zobacz: [Ramez Elmasri, Shamkant B. Navathe, str. 336]

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 bazstratnego 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.

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. 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 narmalizacji 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)