Projektowanie Systemów Informacyjnych Wykład II Encje, Związki, Diagramy związków encji, Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.Widom Copyrights by Arkadiusz Rzucidło 1
Encja Byt pojęciowy opisany argumentami Model rzeczy, osób posiadające tożsamość o których chcemy przechowywać informacje Osoba Samochód Faktura Obraz Książka Komputer Index Filmy tytuł rok długość typ filmu Encja Argumenty Copyrights by Arkadiusz Rzucidło 2
Atrybuty Określają cechy rzeczy, osób itp.: identyfikują opisują podają ilości klasyfikują Są prostego (atomowego) typu Muszą mieć precyzyjne nazwy Rodzaje atrybutów: Obowiązkowe Opcjonalne Przykłady: kod towaru, nazwa nr identyfikacyjny, imię, nazwisko, adres cena, wartość, rodzaj płatności Copyrights by Arkadiusz Rzucidło 3
Klucze Klucz relacji jest zbiorem atrybutów, które jednoznacznie wyznaczają krotkę Klasyfikacja kluczy klucze właściwe: żaden podzbiór właściwy klucza właściwego nie jest kluczem klucz główny: jeden z kluczy właściwych relacji, wybrany do identyfikowania krotek Klucze wykrywa się analizując opisywany świat, a nie dostępne dane! Przykład: id pracownika jest kluczem nazwisko nie jest kluczem nazwisko + imię + data urodzenia + imię ojca -- jest kluczem Copyrights by Arkadiusz Rzucidło 4
Dobór kluczy Jest bardzo trudny Nie może istnieć więcej niż jeden zestaw wartości atrybutów, który posiadałby taki sam zestaw wartości atrybutów tworzących klucz Jeśli istnieje to znaczy, że klucz został źle dobrany Przykład: abstrakcyjny obiekt w pamięci komputera ma klucz, który jest jednoznacznie identyfikowany przez adres przydzielonego mu obszaru pamięci DBMS nie pozwoli na utworzenie zestawu wartości dla których klucz byłby taki sam Niekiedy zestaw atrybutów nie jest wystarczający aby tworzyć klucz. Wprowadza się nowy atrybut (sztuczny) Copyrights by Arkadiusz Rzucidło 5
Dobór kluczy - przykład Firma ma bazę gromadzącą dane o wystawianych fakturach. Co będzie kluczem? Numer Faktury. Jeśli numeracja zaczyna się od początku w każdym roku, Numer Faktury i Rok. Jeśli poszczególne działy stosują własną numerację faktur, Numer Faktury i Nazwa Działu lub Numer Faktury, Nazwa Działu i Rok. Jak widać, właściwy dobór klucza zależy od rzeczywistości, którą chcemy przedstawić w bazie danych. Studenci: Numer Indeksu Rządowa baza danych: PESEL Copyrights by Arkadiusz Rzucidło 6
Związki encji Encje reprezentują elementy rzeczywistości w modelu danych Encje podobnie jak elementy, które reprezentują pozostają względem siebie w relacjach. Schemat relacyjnej bazy danych jest zbiorem schematów relacji Relacyjna baza danych jest zbiorem relacji spełniających warunki integralności dla każdej relacji i między relacjami Copyrights by Arkadiusz Rzucidło 7
Liczebność związków encji Liczebność związków (multiplicity) Wiele do wielu Jeden pracownik może korzystać z wielu zestawów narzędzi Zestaw narzędziowy może być używany przez wielu pracowników Jeden do wielu Jeden pracownik może używać kilku zestawów narzędziowych Narzędzia mogą być używane tylko przez jednego pracownika Wiele do jednego Jeden pracownik może używać tylko jednego zestawu narzędzi Zestaw narzędziowy może być wykorzystywany przez wielu pracowników Jeden do jednego Pracownik ma przypisany zestaw narzędziowy Zestaw narzędziowy może być wykorzystywany tylko przez jednego pracownika Copyrights by Arkadiusz Rzucidło 8
Ograniczenia integralności Świat rzeczywisty opisują tylko te z możliwych relacji, które spełniają zależności semantyczne istniejące w modelowanym świecie Zależności w b.d. modeluje się jako tzw. ograniczenia integralności (integrity constraints) Zależności semantyczne wykrywa się analizując opisywany świat, a nie dostępne dane! Copyrights by Arkadiusz Rzucidło 9
Zależności integralności referencyjnej Istnieje dokładnie jeden zestaw wartości atrybutów encji B, który wchodzi w relację z zestawem wartości atrybutów encji A Zestaw wartości atrybutów encji B musi istnieć Nie może być obiektem pustym Wszystkie zestawy wartości encji A muszą wchodzić w relację z wartościami atrybutów encji B Więzy integralności referencyjnej wymuszają istnienie wskazanego argumentu lub zestawu argumentów W przypadku próby usunięcia takiego atrybutu (zestawu) DBMS: Nie pozwoli na operację usunięcia lub Usunie wszystkie zestawy, które na atrybut (zestaw) wskazują (kaskadowe usuwanie danych) BARDZO NIEBEZPIECZNE!!! Copyrights by Arkadiusz Rzucidło 10
Redundancja i Anomalie Redundancja redundancja polega na powtarzaniu wady redundancji: anomalie konieczność utrzymania spójności kopii marnowanie miejsca Anomalie istnienia wstawiania usuwania modyfikacji Copyrights by Arkadiusz Rzucidło 11
Rozkład relacji i normalizacja redundancję usuwa się przez rozkład relacji rozkład odwracalny: można odwrócić przez naturalne złączenie rozkład relacji powinien doprowadzić do tzw. postaci normalnej rozkład relacji nie powinien powodować utraty zależności istniejących w relacji pierwotnej Copyrights by Arkadiusz Rzucidło 12
Normalizacja 1NF Pierwsza postać normalna Relacja jest w pierwszej postaci normalnej gdy wszystkie atrybuty są atomowe prostych typów nr_zam ilosc opis1 opis2 opis3 1234 3 chleb masło ser 1235 1 herbata 1236 3 kawa chleb nr_zam ilosc opis 1234 3 chleb, masło, ser 1235 1 herbata 1236 3 kawa, chleb nr_zam ilosc opis wartość 1234 1 chleb 1,50 zł 1234 1 masło 2,70 zł 1234 1 ser 4,40 zł 1235 1 herbata 2,30 zł 1236 1 kawa 10,50 zł 1236 2 chleb 3,00 zł Copyrights by Arkadiusz Rzucidło 13
Normalizacja 2NF relacja jest w 2NF gdy każdy atrybut niekluczowy (nie należący do klucza właściwego) jest zależny funkcyjnie od całego klucza właściwego przyczyną braku 2NF jest zwykle błędne połączenie danych nr_zam ilosc opis wartość 1234 1 chleb 1,50 zł 1234 1 masło 2,70 zł 1234 1 ser 4,40 zł 1235 1 herbata 2,30 zł 1236 1 kawa 10,50 zł 1236 2 chleb 3,00 zł nr_zam ilosc nr_prod wartość 1234 1 1 1,50 zł 1234 1 2 2,70 zł 1234 1 3 4,40 zł 1235 1 4 2,30 zł 1236 1 5 10,50 zł 1236 2 1 3,00 zł nr_prod nazwa cena 1 chleb 1,50 zł 2 masło 2,70 zł 3 ser 4,40 zł 4 herbata 2,30 zł 5 kawa 10,50 zł Copyrights by Arkadiusz Rzucidło 14
Normalizacja 3NF relacja jest w 3NF gdy: jest w 1 NF i każdy atrybut niekluczowy jest bezpośrednio zależny funkcyjnie od całego klucza właściwego Jeśli wartość może być wyliczona nie może być atrybutem 3NF jest zazwyczaj wystarczająca dla usunięcia praktycznie ważnych anomalii nr_zam ilosc nr_prod 1234 1 1 1234 1 2 1234 1 3 1235 1 4 1236 1 5 1236 2 1 nr_prod nazwa cena 1 chleb 1,50 zł 2 masło 2,70 zł 3 ser 4,40 zł 4 herbata 2,30 zł 5 kawa 10,50 zł Copyrights by Arkadiusz Rzucidło 15
Postać normalna Boyce-Codda relacja jest w BCNF gdy każda nietrywialna zależność funkcyjna jest zależnością od klucza (niekoniecznie właściwego) nie każdy schemat można doprowadzić do BCNF z zachowaniem zależności Zakłada izolację niezależnych złożonych relacji. Żadna z encji nie może należeć do dwóch lub więcej relacji jeden-do-wielu lub wiele-do-wielu jeżeli relacje te nie są ze sobą powiązane Klienta zamawia wiele książek a ta sama książka może być dostarczona do wielu klientów najczęściej zależności prowadzące do braku BCNF nie są istotne z punktu widzenia projektu Copyrights by Arkadiusz Rzucidło 16
Normalizacja - 4NF relacja jest w 4NF gdy jeśli każda nie trywialna zależność wielowartościowa jest zależnością od klucza (niekoniecznie właściwego) schemat doprowadza się do 4NF przez rozkład Zakłada izolację znaczeniowo powiązanych złożonych relacji nr_prod nazwa cena 1 chleb 1,50 zł 2 masło 2,70 zł 3 ser 4,40 zł 4 herbata 2,30 zł 5 kawa 10,50 zł nr_rodz rodzaj_prod nr_kol nr_prod nr_rodz 1 pieczywo 121 1 1 2 nabiał 122 2 2 3używki 123 3 2 124 4 3 125 5 3 Copyrights by Arkadiusz Rzucidło 17
Zasady projektowania związków encji Dokładność projekt powinien odpowiadać specyfikacji. Zbiory encji powinny odzwierciedlać świat rzeczywisty Unikanie redundancji ponieważ powtarzane dane zajmują zbyt wiele miejsca i ryzykuje się, że nie wszystkie wystąpienia dane informacji będą uaktualnione Prostota tylko tyle elementów ile naprawdę potrzeba. Dobór właściwych elementów nie wszystko da się zamodelować jako atrybuty Copyrights by Arkadiusz Rzucidło 18
Cele modelowania pojęciowego precyzyjne określenie zakresu projektu modelowanie informacji: niezbędnej dla działania organizacji niezależnie od implementacji wg określonego modelu danych Copyrights by Arkadiusz Rzucidło 19
Diagramy związków encji Graficzna metoda modelowania bazy danych Trzy główne składowe: Zbiory encji (entity sets) encje są elementami w zbiorach encji Atrybuty (atributes) wartości atrybutów opisują właściwości encji Związki (relationships) opisują połączenia między dwoma lub większą liczbą zbiorów encji. W modelu związków encji w relacje mogą wchodzić więcej niż dwa zbiory encji. Filmy tytuł rok długość typ filmu gwiazdy w posiada Gwiazdy nazwisko adres Studia nazwa adres Copyrights by Arkadiusz Rzucidło 20
Diagramy ERD Atrybuty Obowiązkowe Opcjonalne Związki pokazują zależności między encjami powinny być obustronnie nazwane nie zapisuje się sposobu realizacji Poprawność związków związki 1-1 są podejrzane związki obustronnie obowiązkowe są podejrzane związki rekurencyjne muszą być obustronnie opcjonalne związki n-m powinny zostać rozbite Copyrights by Arkadiusz Rzucidło 21
ERD - przykład Copyrights by Arkadiusz Rzucidło 22
Przykład: Zaprojektować system kont bankowych gromadzone mają być informacje o klientach, kontach, ich parametrach i operacjach Podstawowe funkcje: zakładanie nowego konta (ewentualnie wprowadzanie klienta) operacje (transakcje): wpłata, wypłata, przelew, odsetki, kary, zamknięcie przetwarzanie okresowe np.: odsetki, zlecenia stałe zmiany administracyjne np.: zmiana planu kont Copyrights by Arkadiusz Rzucidło 23
Przykład: DHF OBSŁUGA KONT BANKOWYCH OPERACJE Nowy klient Wpłata Nowe konto Operacje Przetwarzanie okresowe Zmiany administracyjne Wypłata Przelew Kary Zamknięcie Copyrights by Arkadiusz Rzucidło 24
Przykład: DFD Copyrights by Arkadiusz Rzucidło 25
ERD - przykład Copyrights by Arkadiusz Rzucidło 26
Koniec Źródła: www.ekonom.pl Copyrights by Arkadiusz Rzucidło 27