Bazy danych. Andrzej Łachwa, UJ, /15

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

Zależności funkcyjne pierwotne i wtórne

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?

Postać normalna Boyce-Codd (BCNF)

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

WYKŁAD 1. Wprowadzenie do problematyki baz 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 ZALEŻNOŚCI FUNKCYJNE

Technologie baz danych

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

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

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

Pojęcie zależności funkcyjnej

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

Bazy Danych i Usługi Sieciowe

Normalizacja. Pojęcie klucza. Cel normalizacji

Pierwsza postać normalna

Normalizacja baz danych

Bazy danych i usługi sieciowe

Zależności funkcyjne

Projektowanie baz danych

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

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

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

Cel normalizacji. Tadeusz Pankowski

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

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

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

Pierwsza postać normalna

Projektowanie relacyjnych baz danych

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

Bazy Danych i Usługi Sieciowe

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

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

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

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

RBD Relacyjne Bazy Danych Więzy realcji

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

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

Bazy danych 3. Normalizacja baz danych

Bazy danych. Algebra relacji

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

Tadeusz Pankowski Definicja. Definicja

1 Wstęp do modelu relacyjnego

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

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

Bazy danych w sterowaniu

Bazy danych Projektowanie i implementacja relacyjnych baz danych

Relacyjny model danych

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

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

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

Model relacyjny. Wykład II

Bazy danych. Andrzej Łachwa, UJ, /14

forma studiów: studia stacjonarne Liczba godzin/tydzień: 1, 0, 2, 0, 0

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

Technologia informacyjna

Obiektowość BD Powtórka Czas odpowiedzi. Bazy Danych i Systemy informacyjne Wykład 14. Piotr Syga

Projektowanie bazy danych przykład

Normalizacja baz danych

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

1. Zakłada się, że każda operacja (read, write) w harmonogramie obejmuje również blokowanie i odblokowanie jednostki. Czy następujący harmonogram

Zależności funkcyjne c.d.

Jacek Czekaj. Rodziny równoważne z bazodanową rodziną relacji

Matematyka dyskretna. Andrzej Łachwa, UJ, 2017 Zadania 1

Krakowska Akademia im. Andrzeja Frycza Modrzewskiego. Karta przedmiotu. obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 2012/2013

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

Krakowska Akademia im. Andrzeja Frycza Modrzewskiego. Karta przedmiotu. obowiązuje studentów, którzy rozpoczęli studia w roku akademickim 2013/2014

Konstruowanie Baz Danych Wprowadzenie do projektowania. Normalizacja

Normalizacja relacji

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

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

1 Przygotował: mgr inż. Maciej Lasota

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

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

Bazy danych. Andrzej Łachwa, UJ, /15

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

Wykład 2. Relacyjny model danych

WPROWADZENIE DO BAZ DANYCH

Technologia Informacyjna

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

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

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

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

KARTA PRZEDMIOTU 1,5 1,5

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

Relacyjny model danych

WYMAGANIA EDUKACYJNE

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Zaawansowane Modelowanie I Analiza Systemów Informatycznych

Normalizacja relacji z atrybutami rozmytymi poziomu drugiego

Związki pomiędzy tabelami

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

Baza danych. Baza danych to:

Bazy danych wykład drugi. Konrad Zdanowski

Transkrypt:

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

NORMALIZACJA c.d. 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!

Rozkłady schematów Proces normalizacji polega na rozbijaniu schematów relacji na mniejsze, aż przestanie to być możliwe lub pożądane. Rozkłady powinny zachowywać zależności oraz pozwalać na złączenie nieaddytywne (odwracalność). Rozkład zachowuje zależności jeżeli zbiór zależności w podschematach jest równoważny początkowemu zbiorowi zależności. Rozkład schematu na podschematy nazywamy odwracalnym wtw gdy każda relacja rozpięta na tym schemacie jest złączeniem naturalnym swoich rzutów na podschematy.

Zależności wielowartościowe Zależność taka powstaje wtedy, gdy encje danego typu posiadają dwa niezależne atrybuty wielowartościowe. Np. student zna kilka języków obcych i kilka języków programowania. W odpowiedniej relacji musi wtedy wystąpić wiele krotek dla każdego studenta i muszą być powtarzane wszystkie wartości jednego atrybutu dla każdej wartości drugiego: Adam Abacki; rosyjski; C++ Adam Abacki; rosyjski; Java Adam Abacki; rosyjski; SQL Adam Abacki; angielski; C++ Adam Abacki; angielski; Java Adam Abacki; angielski; SQL

Mówiąc nieformalnie zależność wielowartościowa pojawia się zwykle wtedy, gdy w ramach jednego schematu połączymy dwa atrybuty wielowartościowe jednego typu encji, albo dwa związki. Np. tabelę przedstawioną wyżej można skojarzyć ze strukturą encji typu STUDENT o dwóch atrybutach wielowartościowych: JĘZYK_NATURALNY, JĘZYK_ PROGRAMOWANIA. Tę samą strukturę informacji można przedstawić jako dwa związki wychodzące z encji typu STUDENT: związek z encjami JĘZYK_NATURALNY i związek z encjami JĘZYK_ PROGRAMOWANIA. Zauważmy, że prawidłowo wykonane mapowanie dla obu podanych struktur nie doprowadzi do omawianej tabeli z zależnością wielowartościową.

Definicja Między zbiorami atrybutów X, Y schematu R zachodzi zależność wielowartościowa X Y wtw gdy dla każdej relacji r rozpiętej na R zachodzi: jeżeli w r istnieją krotki t 1 i t 2 takie że t 1 [X]=t 2 [X] to istnieją również krotki krotki t 3 i t 4 takie że t 1 [X]=t 2 [X]=t 3 [X]=t 4 [X] t 1 [Y]=t 3 [Y] oraz t 2 [Y]=t 4 [Y] t 2 [Z]=t 3 [Z] oraz t 1 [Z]=t 4 [Z] gdzie Z=R (XUY).

Kiedy w R zachodzi X Y to również zachodzi X Z. Zależność wielowartościową X Y nazywamy trywialną gdy YTX lub R=XUY. Reguły dla zależności wielowartościowych: (1) X Y ⱶ X (R XY) (uzupełnianie) (2) X Y, W V Z ⱶ WX YZ (zwiększanie) (3) X Y, Y Z ⱶ X (Z Y) (przechodniość) gdzie X, Y, Z, W to zbiory atrybutów z R(A 1, A 2, A n ), napis PQ oznacza dla atrybutów {P, Q} a dla zbiorów atrybutów P U Q, oraz ⱶ jest znakiem inferencji.

Reguły dla zależności funkcyjnych i wielowartościowych: (4) X Y ⱶ X Y (replikacja) (5) X Y oraz istnieje W taki że WWY=, W Z, YVZ ⱶ X Z (scalanie) Reguły Armstronga, reguły (1)-(3) oraz reguły (4) i (5) stanowią łącznie minimalny i zupełny zbiór reguł wnioskowania dla zależności obu typów (funkcyjnych i wielowartościowych). Używając tych reguł można zbudować domknięcie dowolnego zbioru zależności obu typów.

4NF Schemat relacji R ze zbiorem F zależności funkcyjnych i zależności wielowartościowych znajduje się w czwartej postaci normalnej gdy dla każdej nietrywialnej zależności X Y w domknięciu F + zbiór X jest nadkluczem. R(A, B, C, D, E); AB C wtedy na podstawie (1) mamy AB DE (obie zależności są nietrywialne) rozkładamy schemat: R 1 (A, B, C); AB C i R 2 (A, B, D, E); AB DE

Zależności złączeniowe i 5NF Może się zdarzyć, że schemat jest już w 4NF oraz istnieje odwracalny rozkład na trzy lub więcej podschematów. Mówimy wtedy o występowaniu zależności złączeniowej. Schemat jest w 5NF jeżeli dla każdej nietrywialnej zależności złączeniowej każdy podschemat wynikający z tej zależności zbudowany jest z atrybutów stanowiących nadklucz klucza schematu.

Przykład [Elmasri, Navathe, s.373] Dostawa (Dostawca, Część, Projekt) Nowak, śruba, P1 Nowak, nakrętka, P2 Adamski, śruba, P2 Warecki, nakrętka, P3 Adamski, gwóźdź, P1 -------------------------- Adamski, śruba, P1 Nowak, śruba, P2 R1 (Dostawca, Część), R2 (Dostawca, Projekt), R3 (Część, Projekt)

Postać normalna klucza dziedziny DKNF Jest to ostateczna postać normalna, która uwzględnia wszystkie rodzaje zależności i więzów. Schemat jest w DKNF jeżeli wszystkie więzy i zależności, które powinny być zachowane w każdej relacji rozpiętej na tym schemacie, mogą być wymuszane przez więzy domenowe i więzy kluczy (kluczy głównych i kluczy obcych). Wymuszenie ogólnych więzów integralności (np., że średnia płaca pracownika danej jednostki nie może być mniejsza od połowy płacy kierownika tej jednostki) przez domeny i klucze może być niewykonalne. Zwykle konieczne jest zdefiniowanie odpowiedniej procedury, asercji czy triggera.

FireBird Odwiedź stronę producenta: http://www.firebirdsql.org Przeczytaj: Firebird 2.5 Quick Start Guide