Wykład 12 Projektowanie BD Normalizacja Przykłady Bazy Danych - A. Dawid 2011 1
Transformacja schematów Transformacja schematów zamiana schematu wejściowego na równoważny schemat wyjściowy. Schematy S1 i S2 są RÓWNOWAŻNE jeżeli dla każdego zapytania, które może być postawione odnośnie S1 istnieje takie zapytanie odnośnie S2, że dają one tą samą odpowiedź (i odwrotnie). Schemat S2 jest wiekszy niż schemat S1 jeżeli istnieje zapytanie odnośnie S2 dla którego nie istnieje odpowiadajace mu (dajace tę samą odpowiedź) zapytanie odnośnie S1 (ale nie odwrotnie) Bazy Danych - A. Dawid 2011 2
Transformacja schematów OSOBA WIEK PŁEĆ STOS_SŁ_WOJSK OSOBA WIEK MIASTO_URODZ WOJEW_URODZ Urodzona w MIASTO NAZWA_MIASTA WOJEWÓDZTWO SCHEMATY RÓWNOWAŻN E KOBIETA PŁEĆ MĘŻCZYZNA STOS_SŁ_WOJSK Bazy Danych - A. Dawid 2011 3
Transformacja schematów Rodzaje transformacji Zachowujące informacje transformacja, która zachowuje zawartość informacyjną schematu wejściowego tzn. Schemat wejściowy i wyjściowy są równoważne. (Stosowana aby zapewnić warunki jakości modelu: minimalności, pełni wyrazu, czytelności,normalności) Niezachowujące informacji: POWIĘKSZAJĄCA schemat wyjściowy jest wiekszy od schematu wejściowego. (Stosowana gdy na schemacie pominieto niktóre wymagania) POMNIEJSZAJĄCA schemat wyjściowy jest mniejszy od schematu wejściowego. (stosowana gdy schemat zawiera nadmiarowe pojęcia w stosunku do wymagań) NIEPORÓWNYWALNA zawartość informacyjna jest różna tzn. Część pojęć znika i pojawiają się pojęcia nowe. WIEK => DATA_URODZ Bazy Danych - A. Dawid 2011 4
Transformacja schematów Typowe przykłady redundancji, nadmiarowości i niejasności PĘTLE POWIĄZAŃ ATRYBUTY POCHODNE ZBĘDNE PODZBIORY DOMNIEMANE PODZBIORY ZBĘDNE ENCJE W UOGÓLNIENIU NIEZAUWAŻONE UOGÓLNIENIA NIEZAUWAŻONE PODZBIORY NIEZNORMALIZOWANE MODELE Bazy Danych - A. Dawid 2011 5
tle powiązań a minimalność Transformacja schematów Pracuje z kierowany przez kierowany przez KIEROWNIK Pracuje na KIEROWNIK Ma telefon pracownik KIEROWNIK Kieruje Ma telefon kierownik Ma telefon WYDZIAŁ TELEFON TELEFON Minimalność zależy od znaczenia, pętla powiązań jest dopuszczalna. Bazy Danych - A. Dawid 2011 6
Atrybuty pochodne Transformacja schematów DATA_URODZ DATA_URODZ Pracuje nad PROJEKT ID_PROJ KIEROWNIK LICZBA_PRAC LICZBA_PRAC jest sumą pracowników związanych z danym projektem Zbędne podzbiory Pracuje nad PROJEKT ID_PROJ KIEROWNIK DATA_URODZ DATA_URODZ BYŁY Jeżeli BYŁY nie ma charakterystycznych dla niego atrybutów to nie należy go wyróżniać. Bazy Danych - A. Dawid 2011 7
Domniemane podzbiory Transformacja schematów EKSPERT KOMPUTEROWY EKSPERT KOMPUTEROWY ANALITYK ANALITYK Zbędne encje w uogólnieniu WYKŁADOWCA WYKŁADOWCA STOPIEŃ PROFESOR DOKTOR MAGISTER Bazy Danych - A. Dawid 2011 8
Transformacja schematów Niezauważone uogólnienia PSY WAGA ZWIERZĘTA DOMOWE WAGA KOTY WAGA PSY KOTY Niezauważone podzbiory DATA_URODZ DATA_URODZ (0,1) Prowadzi KIEROWCA Prowadzi SAMOCHÓD SAMOCHÓD ID_SAMOCH TYP TYP ID_SAMOCH Bazy Danych - A. Dawid 2011 9
NORMALIZACJA - Przykład PRZELOT LINIĄ LOTNICZĄ NUMER_LOTU DATA_LOTU GODZ_LOTU LINIA_LOTNICZA PORT_LOT_START PORT_LOT_STOP TYP_SAMOLOTU LICZBA_SIEDZEŃ LICZBA_PASA _CZŁONKA_ZAŁOGI ROLA_CZŁONKA_ZAŁOGI Założenia (zależności) NUMER_LOTU,DATA_LOTU,GODZ_LOTU LINIA_LOTNICZA, PORT_LOT_START, PORT_LOT_STOP, TYP_SAMOLOTU, LICZBA_SIEDZEŃ, LICZBA_PASA, _CZŁONKA_ZAŁOGI, ROLA_CZŁONKA_ZAŁOGI _CZŁONKA_ZALOGI ROLA_CZŁONKA_ZAŁOGI NUMER_LOTU PORT_LOT_START, PORT_LOT_STOP, LINIA_LOTNICZA DATA_LOTU,GODZ_LOTU LICZBA_PASA TYP_SAMOLOTU LICZBA_SIEDZEŃ PORT_LOT_START, PORT_LOT_STOP LINIA_LOTNICZA Bazy Danych - A. Dawid 2011 10
NORMALIZACJA Przykład (1NF) LOT NUMER_LOTU DATA_LOTU GODZ_LOTU LINIA_LOTNICZA PORT_LOT_START PORT_LOT_STOP TYP_SAMOLOTU LICZBA_SIEDZEŃ LICZBA_PASA Bierze udział CZŁONEK ZAŁOGI _CZŁONKA_ZAŁOGI ROLA_CZŁONKA_ZAŁOGI Bazy Danych - A. Dawid 2011 11
NORMALIZACJA Przykład (2NF) KURS NUMER_LOTU LINIA_LOTNICZA PORT_LOT_START PORT_LOT_STOP TYP_SAMOLOTU LICZBA_SIEDZEŃ Planowany jako LOT DATA_LOTU GODZ_LOTU LICZBA_PASA Bierze udział CZŁONEK ZAŁOGI _CZŁONKA_ZAŁOGI ROLA_CZŁONKA_ZAŁOGI Bazy Danych - A. Dawid 2011 12
NORMALIZACJA Przykład (3NF) SAMOLOT Obsługiwany przez samolot LICZBA_SIEDZEŃ TYP_SAMOLOTU KURS NUMER_LOTU PORT_LOT_START PORT_LOT_STOP Obsługiwany przez linie LINIA LOTNICZA Planowany jako LOT DATA_LOTU GODZ_LOTU LICZBA_PASA LINIA_LOTNICZA Bierze udział CZŁONEK ZAŁOGI Bazy Danych - A. Dawid 2011 13 _CZŁONKA_ZAŁOGI ROLA_CZŁONKA_ZAŁOGI
ZADANIE W systemie BAZY DANYCH UNIWERSYTETU zbierane są informacje o studentach, profesorach i prowadzonych wykładach. Każdy student opisywany jest następującymi informacjami: imie, nazwisko, data urodzenia, miejsce urodzenia (miasto, województwo), miejsce zamieszkania, aktualny semestr. Każdy student ma ustalony plan wykłladów na cały okres studiów. Każdy zaliczony wykład na danym semestrze kończy się wystawieniem oceny końcowej. Studenci, którzy są dyplomantami tzn. Ukończyli wszystkie zaplanowane wykłady piszą pracę dyplomową, ktorej tytul musi być zapamiętany. Praca dyplomowa prowadzona jest pod opieką jednego z profesorow uczelni. Po zdaniu egzaminu dyplomowego informacje o studencie uzupełniane są o datę obrony pracy oraz ocenę końcową. Każdy profesor pracujacy na uczelni zwiazany jest z jednym wydziałem, którego nazwa i telefon muszą być znane, oraz opisywany jest następującymi informacjami: imie, nazwisko, data urodzenia, tytuł, specjalność. Uczelnia zatrudnia również profesorów kontraktowych. W takim przypadku dodatkowo należy pamiętać daty rozpoczęcia i zakonczenia kontraktu. Każdy profesor prowadzi przynajmniej jeden i co najwyżej 3 rózne wykłady na uczelni, przy czym ten sam wykład może być prowadzony przez jednego tylko profesora. Każdy profesor może prowadzić dowolną liczbę dyplomantów. Wyklad ma określony swoj numer, temat, dzień oraz godzinę rozpoczecia i zakonczenia oraz odbywa się w jednym z wielu pomieszczeń uczelni, które znajdują się w różnych budynkach. Bazy Danych - A. Dawid 2011 14
Województwo Nazwa_M MIASTO (0,n) (0,n) Data_urodz Urodziła się Przykładowe rozwiązanie Imie Nazwisko Nr_ewid OSOBA Mieszka w WYDZIAŁ Nazwa_W Telefon_W Mieszka w (0,n) STUDENT Tytuł_Pracy Data_Obrony (0,n) PROFESOR Specjalność Tytuł estr ena Ma plan ukończyć DYPLOMANT Ocena_końcowa Opiekuje się KONTRAKTOWY Pocz_Kontr Kon_Kontr (1,3) WYKŁAD ID_Wykładu prowadzony przez Godz_W Tytuł_Wykładu k eń KALENDARZ Odbywa się SALA ID_Budynku Nr_Sali ROLA_CZŁONKA_ZAŁOGI Bazy Danych - A. Dawid 2011 15