Nieprawidłowo zaprojektowana tabela

Slides:



Advertisements
Podobne prezentacje
Teoretyczne podstawy tworzenia systemów relacyjnych baz danych
Advertisements

Modelowanie logiczne (dla relacyjnych SZBD)
S – student, P – przedmiot, W – wykładowca
Wprowadzenie do systemów baz danych
Relacyjny model danych
Bazy danych 7. Postaci normalne P. F. Góra semestr letni 2004/05
Komponenty bazy danych Baza danych Jest to uporządkowany zbiór powiązanych ze sobą danych charakterystycznych dla pewnej klasy obiektów lub zdarzeń,
WPROWADZENIE DO BAZ DANYCH
MS Access 2000 Normalizacja Paweł Górczyński 2005.
Microsoft Office Access
Bazy danych Wprowadzenie do informatyki Wykład 9
Normalizacja : Głównym celem projektowania bazy przeznaczonej dla systemu relacyjnego jest właściwa reprezentacja danych, związków i więzów. W identyfikowaniu.
Wprowadzenie do systemów baz danych
Projektowanie fizycznej bazy danych
WYKONYWANIE ZAPYTAŃ Przygotował Lech Banachowski na podstawie: 1.Raghu Ramakrishnan, Johannes Gehrke, Database Management Systems, McGrawHill, 2000 (książka.
Relacyjny model danych
Projektowanie struktury logicznej (schematu) relacyjnych baz danych
Teoria relacyjnych baz danych
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
Zależności funkcyjne.
PROJEKTOWANIE TABEL W PROGRAMIE: ACCESS
DIAGRAMY ER 2 (ENTITY-RELATIONSHIP DIAGRAMS 2) Ćwiczenia 2.
O relacjach i algorytmach
Bazy danych.
Temat 19: Organizacja informacji w bazie danych – część 2.
Bazy danych podstawowe pojęcia
Systemy baz danych Wykład 1
Temat 19: Organizacja informacji w bazie danych – część 1.
Budowanie tabel i relacji
Informatyka Relacyjne bazy danych.
RELACYJNE BAZY DANYCH, SCHEMAT RELACJI, SELEKCJA, PROJEKCJA
Andrzej Macioł Bazy danych – model relacyjny – cz. 1 Andrzej Macioł
Kwerendy.
Wybrane zagadnienia relacyjnych baz danych
WPROWADZENIE DO BAZ DANYCH
Relacyjne bazy danych Tworzenie bazy danych Marzena Nowakowska Katedra Informatyki Stosowanej, WZiMK, PŚk p C dostęp do materiałów:
Model relacyjny.
Wyprowadzanie informacji z bazy danych - kwerendy wybierające Marzena Nowakowska Katedra Informatyki Stosowanej, WZiMK, PŚk.
Operacje edycyjne w bazie danych - kwerendy funkcjonalne Marzena Nowakowska Katedra Informatyki Stosowanej, WZiMK, PŚk.
Bazy danych – model relacyjny – cz. 2
Bazy danych - podstawowe pojęcia
Normalizacja.
Projektowanie bazy danych
Łódź 2008 Banki danych WYKŁAD 2 dr Łukasz Murowaniecki T-109.
Temat 1: Strukturalny język zapytań SQL
Wykład I Podstawy relacyjnych baz danych Powtórzenie wiadomości
Podstawowe informacje
Definiowanie kluczy w tabelach RBD
Slajd 1© J.Rumiński Jacek Rumiński  Bazy danych Kontakt: Katedra Inżynierii Biomedycznej, pk. 106, tel.: , fax: ,
PROJEKTOWANIE KONCEPTUALNE BAZY DANYCH
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Relacja (ang.relation) Po podzieleniu danych na tabele i zdefiniowaniu pól kluczy podstawowych trzeba wprowadzić do systemu bazy danych informacje na temat.
Ms Access Raporty Marzena Nowakowska WZiMK, PŚk
Projektowanie bazy danych biblioteki szkolnej
Projektowanie postaci formularza:
BAZY DANYCH MS Access.
Bazy Danych Wprowadzenie
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Moduł ECDL-AM5 Bazy danych, poziom zaawansowany Tabele, relacje.
Prezentacja programu PowerPoint
Bazy danych. Baza danych (database) – magazyn danych – informacji powiązanych tematycznie, umożliwiający ich wyszukiwanie według zadanych kryteriów Baza.
Temat: Tworzenie bazy danych
Indeksy.
Automatyzacja pracy z aplikacją w Ms Access
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Ms Access - formularze Marzena Nowakowska WZiMK, PŚk
Czym są i jak służą społeczeństwu?
Zapis prezentacji:

Relacyjne bazy danych Proces normalizacji Marzena Nowakowska WZiMK, PŚk

Nieprawidłowo zaprojektowana tabela Tabela WYPOŻYCZALNIA BIBLIOTECZNA Nazwisko Imię Adres Data_zap Pesel Syg Tytuł Autor Data_wyp Data_zw Typ Limit_cz Kowalski Janusz Adres_1 1998.12.03 7812033323 0001 Tyt_2 Aut_1 2000.05.12 2000.11.12 Podręcznik 3 0002 Tyt_1 Aut_2 1999.12.15 2000.10.11 Poradnik 2 0011 Tyt_20 Aut_10 Nawrocki Adam Adres_3 2008.12.04 8004124561 0004 2010.10.02 2010.10.07 Leksykon 4 Andrzej 8105308897 0034 Tyt_3 Aut_3 2013.06.24 Paprocka Elwira Adres_5 2011.11.03 7901047856 0021 Tyt_5 2012.04.30 2012.05.30 Arends Roman Adres_6 2013.10.15 7710144345 0072 Tyt_4 Aut_4 2013.11.23 2013.12.02 8204184572 0213 Tyt_12 Aut_5 2014.02.14 Bracki Leszek Adres_7 2000.07.01 7911196787

Anomalie związane z niewłaściwym zaprojektowaniem tabeli redundancja - niepotrzebne powtarzanie informacji anomalia przy aktualizacji pól anomalia przy usuwaniu rekordów anomalia przy wstawianiu rekordów

Pierwsza postać normalna tabeli Tabela jest w pierwszej postaci normalnej, jeśli każdy atrybut w każdym rekordzie tabeli ma co najwyżej jedną wartość ze swojej dziedziny. Tabela WYPOŻYCZALNIA BIBLIOTECZNA jest w pierwszej postaci normalnej. WYPOŻYCZALNIA BIBLIOTECZNA

Zależności między atrybutami tabeli Zależność funkcyjna = Atrybut B tabeli R jest funkcyjnie zależny od atrybutu A tej tabeli (A→B), jeśli każdej wartości a atrybutu A odpowiada nie więcej niż jedna wartość b atrybutu B: Tabela WYPOŻYCZENIA: Pesel → Nazwisko, Pesel → Adres ale nieprawda, że: Nazwisko → Pesel, Adres → Pesel Atrybut Y jest pierwotny w tabeli R jeśli należy do któregoś z kluczy tej tabeli, w pp. atrybut jest wtórny. pierwotne: Nazwisko, Imię, Adres, Data_ur wtórny: Autor Pełna zależność funkcyjna = Atrybut B tabeli R jest w pełni zależny funkcyjnie od zbioru atrybutów X, jeśli jest funkcyjnie zależny od niego i nie jest funkcyjnie zależny od żadnego podzbioru zbioru X. Przechodnia zależność funkcyjna = Atrybut B tabeli R jest przechodnio zależny funkcyjnie od zbioru atrybutów X, jeśli jest funkcyjnie zależny od podzbioru atrybutów Y, które są zależne od X.

Druga postać normalna tabeli Tabela jest w drugiej postaci normalnej, jeśli jest w pierwszej postaci normalnej i każdy atrybut nie będący kluczem tej tabeli jest w pełni zależny funkcyjnie od wszystkich kluczy tabeli. Tabela WYPOŻYCZALNIA BIBLIOTECZNA nie jest w drugiej postaci normalnej. Istnieje atrybut, który jest częściowo zależny od klucza głównego: Autor zależy częściowo od klucza {Pesel, Syg, Data_wyp}, bo zależy tylko od jednego składnika klucza  Syg: {Pesel, Syg, Data_wyp} Autor WYPOŻYCZALNIA BIBLIOTECZNA

Trzecia postać normalna tabeli Tabela jest w trzeciej postaci normalnej, jeśli jest w drugiej postaci normalnej i żaden z jej atrybutów nie będących kluczem nie jest przechodnio zależny od żadnego klucza tej tabeli. Tabela WYPOŻYCZALNIA BIBLIOTECZNA nie jest w trzeciej postaci normalnej, bo nie jest w drugiej. Występuje w tabeli przechodnia zależność od klucza. Pole Limit_cz zależy od pola Typ, które zależy od klucza {Pesel, Syg, Data_wyp}: {Pesel, Syg, Data_wyp}  Typ  Limit_cz WYPOŻYCZALNIA BIBLIOTECZNA

Proces normalizacji tabeli Aby doprowadzić relację do odpowiedniej postaci normalnej przeprowadza się proces normalizacji tabeli. Proces normalizacji polega na odpowiednim podziale tabeli na mniejsze w wyższej postaci normalnej.

. . . . . . A B C D E F Postać nieznorma-lizowana do PPN A A B do DPN . . . . . . PIERWSZA POSTAĆ NORMALNA - usunięcie danych nieelementarnych A A B do DPN B A C C D D DRUGA POSTAĆ NORMALNA - usunięcie niepełnej zależności funkcyjnej A A B B do TPN B C C TRZECIA POSTAĆ NORMALNA - usunięcie przechodniej zależności funkc.

Normalizacja do trzeciej postaci normalnej tabeli WYPOŻYCZALNIA BIBLIOTECZNA tabela WYPOŻALNIA BIBLIOTECZNA Nazwisko Imię Adres Data_zap Pesel Tytuł Autor Syg Typ Limit_cz Data_wyp Data_zw tabela KSIĄŻKI tabela WYPOŻYCZENIA tabela CZYTELNICY Tytuł Autor Syg Typ Id_czyt Syg Data_wyp tabela ZWROTY Id_czyt Nazwisko Imię Adres Data_zap Pesel Id_czyt Syg Data_wyp Data_zw Klucz główny: Syg Klucz główny: Syg tabela KATEGORIE Klucz główny: ? Typ Limit_cz Klucz główny: Id_czyt Klucz główny: Typ

Projekcja tabeli Niech dana będzie tabela R(A1, A2, ..., An, B1, B2, ..., Bm). Projekcją tabeli R na atrybuty A1, A2, ..., An jest wybór z tabeli R kolumn odpowiadających atrybutom A1, A2, ..., An. Tabela otrzymana w wyniku tej operacji jest oznaczona PA1, A2, ..., An(R).

Selekcja tabeli Selekcją tabeli R za pomocą warunku W jest wybór z tabeli R wierszy spełniających warunek W. Tabela otrzymana w wyniku tej operacji jest oznaczona SW(R).

Złączenie naturalne tabel Niech będą dane tabele R(A1, A2, ..., An, B1, B2, ..., Bm) i S(C1, C2, ..., Ck, B1, B2, ..., Bm). Złączeniem naturalnym tabeli R z tabelą S jest tabela Z(A1, A2, ..., An, B1, B2, ..., Bm, C1, C2, ..., Ck) spełniająca warunek: t   t[A1, A2, ..., An, B1, B2, ..., Bm]  R oraz t[C1, C2, ..., Ck, B1, B2, ..., Bm]  S. Operację złączenia naturalnego zapisuje się za pomocą symbolu sumy mnogościowej: Z = RS