Bazy danych – model relacyjny – cz. 2

Slides:



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

S – student, P – przedmiot, W – wykładowca
Relacyjny model danych
Wprowadzenie do systemów baz danych
MS Access 2000 Relacje Piotr Górczyński 2005.
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.
Dynamiczne struktury danych 1
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.
Modele baz danych - spojrzenie na poziom fizyczny
Dr inż. Andrzej Macioł Bazy danych dr inż. Andrzej Macioł
Bazy danych – model relacyjny
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
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ł
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
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.
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Bazy danych - podstawowe pojęcia
Normalizacja.
Projektowanie bazy danych
Łódź 2008 Banki danych WYKŁAD 2 dr Łukasz Murowaniecki T-109.
Wykład I Podstawy relacyjnych baz danych Powtórzenie wiadomości
Michał Krawczykowski kl. IIIB
Podstawowe informacje
Definiowanie kluczy w tabelach RBD
Model obiektowy bazy danych
Slajd 1© J.Rumiński Jacek Rumiński  Bazy danych Kontakt: Katedra Inżynierii Biomedycznej, pk. 106, tel.: , fax: ,
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Projektowanie relacyjnych baz danych – diagramy związków encji
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
… pracuje za Ciebie: Arkusz jako relacyjna baza danych Jak efektywnie uporządkować i przetwarzać dane w Excelu.
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
Relacja (ang.relation) Po podzieleniu danych na tabele i zdefiniowaniu pól kluczy podstawowych trzeba wprowadzić do systemu bazy danych informacje na temat.
Bazy danych Podstawy relacyjnych baz danych Autor: Damian Urbańczyk.
Projektowanie postaci formularza:
BAZY DANYCH MS Access.
Modelowanie model związków encji
Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów
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
Transformacja modelu EER do modelu relacyjnego
Relacje Marcin Wojnowski.
Indeksy.
Nieprawidłowo zaprojektowana tabela
Technologie informacyjne w administracji publicznej
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Technologie informacyjne w administracji publicznej
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

Bazy danych – model relacyjny – cz. 2 Andrzej Macioł

Pierwsza postać normalna Jedynymi relacjami dozwolonymi w modelu relacyjnym są relacje spełniające następujący warunek: każda wartość w relacji, tj. każda wartość atrybutu w każdej krotce, jest wartością atomową (wartością nie rozkładalną) (lPN) oznacza, że tabela nie zawiera powtarzających się grup informacji, co znaczy, że każda kolumna jest wartością skalarną (atomową), a nie macierzą lub listą czy też czymkolwiek, co posiada własną strukturę

Relacja nie znormalizowana Pracownik Języki Jan Kowalski angielski – słabo, niemiecki - dobrze Adam Kot rosyjski – bardzo dobrze

Relacja nie znormalizowana Pracownik Znajomość języków Język Poziom Jan Kowalski angielski słabo niemiecki dobrze Adam Kot rosyjski bardzo dobrze

Relacja nie znormalizowana Relację "przed normalizacją" zdefiniowano na dwóch dziedzinach: Pracownik i Znajomość Języków Elementami dziedziny Znajomość Języków są również relacje (zdefiniowane na dziedzinach Język i Poziom) Relacja jest z punktu widzenia definicji relacją dwuczłonową, ale nie wszystkie jej dziedziny są proste (dziedzina prosta to taka, której wszystkie elementy są atomowe)

Relacja znormalizowana Pracownik Język Poziom Jan Kowalski angielski słabo niemiecki dobrze Adam Kot rosyjski bardzo dobrze

Relacja znormalizowana Relacja jest relacją trójczłonową, której wszystkie dziedziny są proste, jest więc znormalizowana Powodem tego jest uproszczenie struktury danych, które z kolei powoduje uproszczenie operatorów w subjęzyku danych Uproszczenia te nie ograniczają w niczym możliwości reprezentowania obiektów

Relacja znormalizowana - nieporozumienia Pracownik Imię dziecka Data ur. dziecka Kowalski Ania 01.01.2000 Jaś 15.03.2001 Kot Patrycja 20.10.2001 Filemon 30.07.2003

Relacja znormalizowana - nieporozumienia Praco-wnik Imię dziecka1 Data ur. dziecka1 Imię dziecka2 Data ur. dziecka2 Kowal-ski Ania 01.01.2000 Jaś 15.03.2001 Kot Patrycja 20.10.2001 Filemon 30.07.2003

Pierwsza postać normalna Przedmiot Prowadzący Student Ocena matematyka prof. Lis Jak Kot 2,0 Ewa Osa 3,0 Adam Struś 5,0

Pierwsza postać normalna Powtarzająca się grupa danych to podzbiór relacji zawierający co najmniej dwa atrybuty, posiadająca własny klucz prosty, w którym istnieją powtarzające się krotki Powtarzanie się takich samych krotek wymuszone jest faktem, że mamy do czynienia z grupą dla której część atrybutów jest strukturą a nie wartością skalarną

Pierwsza postać normalna Przedmiot Student Ocena matematyka Jak Kot 2,0 Ewa Osa 3,0 Adam Struś 5,0 Przedmiot Prowadzący matematyka prof. Lis

Anomalie przy usuwaniu, wstawianiu i aktualizacji Pracownik PESEL Komórka organizacyjna Stanowisko Zadania Jan Kowalski 12345678911 Dział Kadr kierownik kierowanie nadzór analizy Adam Kot 98977796666 referent sprawozdania Ewa Lis 76281976372

Anomalie przy usuwaniu, wstawianiu i aktualizacji Reorganizacja polegająca na likwidacji Działu Kadr spowoduje utratę informacji o wszystkich pracownikach działu Wprowadzając informację o nowym zadaniu dla referenta Działu Kadr musimy ją wprowadzić dla każdego pracownika na tym stanowisku (anomalia przy wstawianiu) Zmieniając nazwę działu na Dział Personalny musimy zaktualizować wszystkie rekordy (anomalia przy aktualizacji)

Druga postać normalna Relacja jest w drugiej postaci normalnej, jeśli każdy atrybut tej relacji nie wchodzący w skład żadnego klucza potencjalnego jest w pełni funkcyjnie zależny wyłącznie od wszystkich podrelacji klucza głównego

Ta relacja nie jest w drugiej postaci normalnej Pracownik PESEL Komórka organizacyjna Stanowisko Zadania Jan Kowalski 12345678911 Dział Kadr kierownik kierowanie nadzór analizy Adam Kot 98977796666 referent sprawozdania Ewa Lis 76281976372

Ta relacja nie jest w drugiej postaci normalnej bo: kluczem w relacji jest podzbiór atrybutów PESEL i Zadania bo powtórzenie krotki o dwóch identycznych wartościach tych atrybutów wskazywałoby na powtórne przydzielenie tego samego zadania tej samej osobie atrybut Pracownik zależy funkcjonalnie od atrybutu PESEL a nie zależy od atrybutu Zadania (mogą się powtórzyć te same zadania przydzielone różnym pracownikom)

Pracownik PESEL Jan Kowalski 12345678911 Adam Kot 98977796666 Ewa Lis 76281976372 PESEL Komórka organizacyjna Stanowisko 12345678911 Dział Kadr kierownik 98977796666 referent 76281976372 Komórka organizacyjna Stanowisko Zadania Dział Kadr kierownik kierowanie nadzór analizy referent sprawozdania

Trzecia postać normalna Relacja jest w trzeciej postaci normalnej, jeśli: jest w drugiej postaci normalnej żaden atrybut nie będący kluczem nie jest funkcjonalnie związany z żadnym innym atrybutem nie będącym również kluczem

Ta relacja nie jest w trzeciej postaci normalnej Pracownik PESEL KodPocztowy Miejscowość Województwo Jan Kowalski 12345678911 32-082 Bolechowice małopolskie Adam Kot 98977796666 30-150 Kraków Ewa Lis 76281976372

Zależność funkcjonalna przechodnia Niech X, Y i Z będą trzema rozłącznymi podzbiorami atrybutów danej relacji Z jest przechodnio funkcjonalnie zależny od X, jeśli Z jest funkcjonalnie zależny od Y i Y jest funkcjonalnie zależny od X natomiast X nie jest zależny od Y i Y nie jest zależny od Z

Forma normalna Boyce-Codd’a Jest uzupełnieniem trzeciej postaci normalnej i jest niezbędna w przypadku gdy atrybuty będące kandydatami na klucze są: wielokrotne, złożone, nakładające się na siebie

Forma normalna Boyce’a-Codd’a Relacja jest w postaci Boyce-Codd’a jeżeli dla każdej nietrywialnej zależności między podzbiorami relacji zbiór będący wyznacznikiem jest zbiorem identyfikującym tej relacji Zależność X →Y jest trywialna jeżeli Y jest podzbiorem X Definicja BCNF zastępuje definicje, pierwszej, drugiej i trzeciej formy normalnej dodatkowo je poszerzając

Forma normalna Boyce-Codd’a IdPracownika Zawód Wykształcenie Stawka 1 ślusarz podstawowe 5,20 tokarz zawodowe 5,30 2 5,50 3 4 kluczem w relacji jest podzbiór IdPracownika, Zawód zależność Zawód, Wykształcenie  Stawka jest funkcjonalna i nietrywialna a Zawód, Wykształcenie nie jest zbiorem identyfikującym

Forma normalna Boyce-Codd’a IdStudenta Seminarium Opiekun 1 marketing Kowalski kadry Kozłowski 2 Janowski 3 4 informatyka Macioł ponieważ opiekun może mieć tylko jedno seminarium to kluczem w relacji jest podzbiór IdStudenta, Seminarium lub IdStudenta, Opiekun zależność Opiekun  Seminarium jest funkcjonalna i nietrywialna a Opiekun nie jest zbiorem identyfikującym

Czwarta forma normalna Relacja jest w czwartej formie normalnej wtedy i tylko wtedy, gdy jest w trzeciej postaci normalnej i nie zawiera wielowartościowej zależności atrybutów

Zależność wielowartościowa Podzbiór atrybutów Y jest wielowartościowo funkcjonalnie zależny od podzbioru X w schemacie R, jeżeli dla dowolnej relacji r w schemacie R i dla dowolnej pary krotek t1 i t2 z relacji r istnieje taka para krotek że: s1[X]=s2[X]=t1[X]=t2[X] i s1[Y]= t1[Y] i s1[R-X-Y]=t2[R-X-Y] i s2 [Y]= t2[Y] i s2 [R-X-Y]=t1[R-X-Y]

Zależność wielowartościowa X Y R-X-Y krotka Nazwisko Imię dziecka Znajomość języków t1 Kot Ania niemiecki t2 Jaś angielski s1 s2 Słoń Ola

Zależność wielowartościowa t1[X]=t2[X]=s1[X]=s2[X]=(Kot) s1[Y]= t1[Y]=(Ania) i s1[R-X-Y]=t2[R-X-Y]=(angielski) i s2 [Y]= t2[Y]=(Jaś) i s2 [R-X-Y]=t1[R-X-Y]=(niemiecki)

Więzi Więź (ang. relationship) to powiązanie pomiędzy parą tabel. Istnieje ona wtedy, gdy dwie tabele są połączone przez klucz podstawowy i klucz obcy. Każda więź jest opisywana przez typ więzi istniejący między dwoma tabelami, typ uczestnictwa oraz stopień uczestnictwa tych tabel

Typy więzi jeden-do-jednego (jeżeli pojedynczemu rekordowi z pierwszej tabeli przyporządkowany jest najwyżej jeden rekord z drugiej tabeli i na odwrót)

Więź jeden-do-jednego

Typy więzi jeden-do-wielu (jeżeli pojedynczemu rekordowi z pierwszej tabeli może odpowiadać jeden lub więcej rekordów z drugiej, ale pojedynczemu rekordowi z drugiej tabeli odpowiada najwyżej jeden rekord z tabeli pierwszej)

Więź jeden-do-wielu

Więzi identyfikujące Klucz obcy, który jest składnikiem złożonego klucza głównego w relacji zależnej określany jest mianem klucza obcego głównego (Primary Foreign Key) a tak zbudowana więź więziom identyfikującą

Więź jeden-do-wielu (identyfikująca)

Obcy klucz główny (IdPracownika) Rok Miesiac IdPracownika LiczbaGodzin 2005 01 1 160 2 150 02 140 Taki wiersz nie może się pojawić

Więź wiele-do-wielu (dane) IdAgregatu Agregat Data IdPracownika Nazwisko Godziny 1 Piła 10.03.05 Kowalski 4 2 Lis Tokarka 3 Kot 8 11.03.05 6

Więź wiele-do-wielu Na jednym agregacie mogą pracować różni pracownicy, np. na agregacie Piła 10. marca pracowało dwóch pracowników Jeden pracownik może pracować na wielu agregatach, np. Kowalski pracował 10. marca na Pile i Tokarce)

Więź wiele-do-wielu

Więź wiele-do-wielu (po rekonstrukcji) IdAgregatu Data IdPracownika Godziny 1 10.03.05 4 2 3 8 11.03.05 6

Typy uczestnictwa obowiązkowy (jeśli w pierwszej tabeli muszą znajdować się pewne rekordy zanim zaczniemy wprowadzać rekordy do tabeli drugiej) opcjonalny (jeśli wprowadzanie rekordów do tabeli drugiej nie wymaga istnienia żadnych rekordów w tabeli pierwszej). Stopień uczestnictwa określa minimalną i maksymalną liczbę rekordów w jednej tabeli, które można powiązać z pojedynczym rekordem w tabeli drugiej.

Opcjonalny typ uczestnictwa

Klucz sztuczny Klucz stworzony wyłącznie dla potrzeb więzi w celu zastąpienia złożonego klucza głównego

Klucz złożony...

...zastąpiony kluczem sztucznym

Klucz złożony...

...zastąpiony kluczem sztucznym

Klucz sztuczny Klucz sztuczny może być wykorzystany do kodowania atrybutów tekstowych (w niektórych przypadkach także liczbowych) o powtarzających się wartościach, dla których można utworzyć listę Użycie klucza sztucznego wymaga stworzenia dodatkowej tabeli (słownika) pozwalającego na „rozkodowanie” klucza