1 Modelowanie model związków encjiWykład 3 Prowadzący: dr Paweł Drozda
2 Modelowanie Odwzorowanie obiektów rzeczywistych w systemie informatycznym Dwa typy modeli: Konceptualny Model związków encji Model UML Implementacyjny Relacyjny Obiektowy Obiektowo-relacyjny dr Paweł Drozda
3 Etapy projektowania systemuAnaliza – jakie wymagania (dane, funkcjonalność) powstaje model konceptualny Projektowanie – zmiana modelu konceptualnego w model implementacyjny Implementacja Wdrożenie Utrzymanie dr Paweł Drozda
4 Etapy tworzenia bazy danychZapis za pomocą modelu związków encji Model relacyjny Model w głowie Baza danych dr Paweł Drozda
5 Model związków encji Część rzeczywistości zapisana za pomocą encji (entities) Atrybuty – właściwości encji Powiązania w strukturze obiektów – związki pomiędzy encjami dr Paweł Drozda
6 Model związków encji – przykład – notacja Chenanrindeksu nazwisko nazwisko pesel zarobki Student Pracownik data Prowadzenie Egzamin Przedmiot ocena nazwa id dr Paweł Drozda
7 Przykład – notacja BarkeraPRZEDMIOT STUDENT PRACOWNIK zdaje Id Nazwa NrIndeksu Nazwisko Pesel Nazwisko Zarobki prowadzi dr Paweł Drozda
8 Encja Odpowiednik klasy w modelu obiektowymZbiór obiektów o tych samych cechach (atrybuty, własności, związki) Konkretny obiekt = wystąpienie encji dr Paweł Drozda
9 Encje – przykład Chen rasa nazwisko imię pesel płeć Pies OsobaPrzykład wystąpienia Osoba: , Kucka, K Osoba: , Drozda, M Pies: Kundel, Bury Pies: Jamnik, Długi dr Paweł Drozda
10 Przykład Barker PIES OSOBA Rasa Pesel Imię Nazwisko Płeć Pies OsobaRasa = Kundel Imię = Bury Osoba Pesel = Nazwisko = Kowalski Płeć = Kobieta dr Paweł Drozda
11 Reguły modelowania encjiUnikalność nazw Atrybuty Związki między encjami Obiekt reprezentowany tylko przez jedną encję Nazwa – rzeczownik w liczbie pojedynczej dr Paweł Drozda
12 Atrybuty encji Identyfikatory – jednoznacznie opisują wystąpienie encji Naturalne – PESEL, NrDowodu, itd. Sztuczne – nrIdentyfikacyjny, idpracownika Deskryptory – pozostałe atrybuty opisujące encję Deklaracja atrybutu Nazwa Dziedzina (typ danych i max rozmiar, zbiór bądź zakres dozwolonych wartości) Opcja unikalności Wartości puste (dozwolone lub nie) dr Paweł Drozda
13 Rodzaje atrybutów - przykładtytuł nazwisko rok pesel zarobki Film Osoba adres gatunek telefon długość płeć dr Paweł Drozda
14 Przykład Barker Film OSOBA # Tytuł # Pesel # Rok * Nazwisko(#) Gatunek * Długość # Pesel * Nazwisko * Płeć * Zarobki Adres Telefon dr Paweł Drozda
15 Związki encji Opisują połączenia pomiędzy encjamiPowiązane dwie lub więcej encji Przykład: uczestniczy STUDENT WYKŁAD Przewidziany dla Pytania: W ilu wykładach uczestniczy student, dla ilu studentów przewidziany jest wykład, czy wykład musi być przewidziany dla studenta, czy student musi uczestniczyć w wykładzie dr Paweł Drozda
16 Cechy związku Liczebność (unarny - rekursywny, binarny, tetrarny, n-arny) Istnienie (opcjonalny, obowiązkowy) Karynalność 1:1 – jeden do jednego 1:M – jeden do wielu N:M – wiele do wielu dr Paweł Drozda
17 Związek 1:1 - Przykład Nauczyciel Klasa Wychowawca nazwisko adresnazwa sala 1b 2c 6a Wychowawca Jan Mucha Marta Ącka Stefan Kula wychowuje KLASA NAUCZYCIEL ma wychowawcę dr Paweł Drozda
18 Związek 1:m - Przykład Prowadzenie Wykładowca Przedmiot Jan MuchaMarta Ącka Stefan Kula Bazy danych Analiza matematyczna Logika Prowadzenie prowadzi PRZEDMIOT WYKŁADOWCA Jest prowadzony dr Paweł Drozda
19 Związek m:n - Przykład Egzamin Student Przedmiot Bazy danychAnaliza matematyczna Logika Egzamin Jan Mucha Marta Ącka Stefan Kula zdaje PRZEDMIOT STUDENT Jest zdawany dr Paweł Drozda
20 Związki wieloargumentowe (1)Możliwość definicji związku wieloargumentowego Co najmniej 3 encje są związane Mandat Kierowca Policjant Wykroczenie dr Paweł Drozda
21 Związki wieloargumentowe (2)Sala Pielęgniarka Operacja Lekarz Pacjent dr Paweł Drozda
22 Związki wieloargumentowe – notacja BerkeraGdy związek wieloargumentowy – zamienia się w encję KIEROWCA Mandat POLICJANT WYKROCZENIE dr Paweł Drozda
23 Rozszerzenie – poprzedni przykładZe strony ważniak dr Paweł Drozda
24 Związek rekursywny Podwójne wystąpienie encji w związkuZarówno dla związków dwuargumentowych jak i wieloargumentowych rodzic Osoba dr Paweł Drozda
25 Typy związków - podsumowanieSędzia Mecz Stadion Gospodarze Goście Drużyna dr Paweł Drozda
26 Atrybuty związków Gdy związek posiada specyficzne cechyMożna stworzyć encję dla związku z atrybutami odnoszącymi się do związku dr Paweł Drozda
27 Atrybuty związku - przykładSędzia liczba widzów Mecz typ meczu Stadion data Drużyna dr Paweł Drozda
28 Przykład – atrybuty związkuWystępuje Gaża FILM AKTOR Gdy związek posiada atrybuty – konieczność wprowadzenia dodatkowej encji Pojawiają się związki typu wiele Od strony związku – obowiązkowe dr Paweł Drozda
29 Zamiana związków wielo- argumentowych na binarneZamiana związku na encję Każda encja związku wieloargumentowego wchodzi w związek binarny jeden do wielu z nową encją dr Paweł Drozda
30 Zamiana związków wielo- argumentowych na binarne -przykładSędzia Arbiter Mecz Stadion Miejsce Gospodarze Goście Drużyna dr Paweł Drozda
31 Zasady projektowania Dokładność Unikanie redundancji ProstotaDobór właściwych elementów dr Paweł Drozda
32 Projektowanie – przykład (1)Nauczyciel cylindry powirzchnia Osoba Wychowawca telefon płeć Klasa Wychowawca dr Paweł Drozda
33 Projektowanie – przykład (2)Nauczyciel Klasa ? Wychowawca Nauczyciel Klasa dr Paweł Drozda
34 Podklasy/Nadklasy Uszczegółowienie encjiReprezentowane przez trójkąt na krawędzi łączącej encje (często z napisem isa) Podział celu wyodrębnienia podgrup o specyficznych cechach dr Paweł Drozda
35 Cechy hierarchizacji Podencje dziedziczą atrybuty z nadencjiKażde wystąpienie podencji jest wystąpieniem nadencji i na odwrót Podencje nie mają swoich identyfikatorów – wspólny dla wszystkich jest w nadencji dr Paweł Drozda
36 Podklasy - przykład nazwisko nrindeksu Student isa isa stypendiumczesne Zaoczny Dzienny dr Paweł Drozda
37 Model Berkera Specjalizacja – dzieli encje na podencjeGeneralizacja łączy podencje w encje dr Paweł Drozda
38 Przykład hierarchii Źródło: ważniak dr Paweł Drozda
39 Modelowanie więzów (1) Klucze Więzy jednoznacznościPrzez podkreślenie nazw Jednoznacznie identyfikują wystąpienie encji Więzy jednoznaczności W danej roli może występować co najwyżej jedna wartość Opisywane w modelu przez strzałki, klucze dr Paweł Drozda
40 Modelowanie więzów (2) Więzy integralności referencyjnejKonieczność istnienia w bazie wskazywanego obiektu Reprezentowane przez zaokrągloną strzałkę Więzy domenowe Wartości atrybutów określonych typów, z określonego zakresu Więzy zasadnicze Arbitralnie narzucone warunki, bezwzględnie przestrzegane dr Paweł Drozda
41 Modelowanie więzów - przykładKLUCZE nazwisko PESEL imię nrid Osoba Pies telefon płeć rasa wiek dr Paweł Drozda
42 Modelowanie więzów - przykładJEDNOZNACZNOŚCI REFERENCYJNA nrpaszportu Sędzia Osoba Arbiter Mecz telefon płeć dr Paweł Drozda
43 Zbiory słabych encji Atrybuty klucza wybierane z innego zbioru encjiOznaczane przez podwójne linie Przyczyny Hierarchiczny układ zbiorów encji Zbiory łączące eliminujące związki wieloargumentowe dr Paweł Drozda
44 Zbiór słabych encji – przykład(1)NrSali Sala Znajdujesię Adres Budynek dr Paweł Drozda
45 Zbiór słabych encji – przykład(2)Sędzia Arbiter Mecz Stadion Miejsce Mecz Gospodarze Goście Drużyna dr Paweł Drozda
46 Zbiór słabych encji – przykład, notacja BerkeraWystępuje Gaża FILM AKTOR dr Paweł Drozda
47 Słabe encje - wymaganiaEncje (F) dostarczające klucza muszą być w związku (R) ze słabą encją (E) Związek (R) binarny jeden (F) do wielu (E) Atrybuty klucza E pochodzące z F muszą być w kluczu F Gdy F jest słabą encją – atrybut klucza E może pochodzić z innych encji powiązanych z F związkiem jeden do wielu dr Paweł Drozda
48 Związki encji => projekty relacyjneEncja (nie słaba) przekształcana do relacji z tą samą nazwą oraz tym samym zbiorem atrybutów nazwisko PESEL Osoba PESEL nazwisko telefon płeć Osoba telefon płeć dr Paweł Drozda
49 Reguły przekształcaniaEncja Relacja Atrybut encji Atrybut relacji Typ danych atrybutu encji Typ danych atrybutu relacji Identyfikator klucz podstawowy Obowiązkowość atrybutu NOT NULL Opcjonalność NULL Pozostałe ograniczenia atrybutów encji ograniczenia integralnościowe relacji dr Paweł Drozda
50 Przykład dr Paweł Drozda
51 Przekształcanie związków1:1 – klucz obcy w wybranej tabeli 1:M – klucz obcy w tabeli po stronie wiele N:M – nowa tabela dr Paweł Drozda
52 Związek binarny 1:1 Dodany klucz obcy po stronie związku obowiązkowegoKLASA NAUCZYCIEL Wychowuje Id Nazwa Pesel Nazwisko Zarobki Dodany klucz obcy po stronie związku obowiązkowego dr Paweł Drozda
53 Związek binarny 1:1 Dodany klucz obcy po stronie mniejszej tabeliKOMPUTER PRACOWNIK Id IP Pesel Nazwisko Zarobki Uzywa Dodany klucz obcy po stronie mniejszej tabeli dr Paweł Drozda
54 Związek N:M encji do relacjiZwiązki przyjmują postać relacji Klucze encji uczestniczących w związku jako atrybuty relacji Gdy związek ma własny klucz – dołączany do atrybutów relacji dr Paweł Drozda
55 Przykład Egzamin Student Przedmiot Egzamin idprzedmiotu nrindeksudr Paweł Drozda
56 Słabe zbiory encji Relacja powstała ze słabego zbioru encji musi zawierać atrybuty tej encji oraz klucze z encji pozostających w związku wiele do jeden Gdy konieczne - przemianowanie atrybutów (np. gdy atrybut występuje podwójnie dr Paweł Drozda
57 Przykład (1) Sędzia Arbiter Mecz Stadion Miejsce Mecz GospodarzeGoście Drużyna dr Paweł Drozda
58 Przykład (2) Wynik przekształcenia Mecz nrsędziego nazwaStadionudruzyna1 druzyna2 dr Paweł Drozda
59 Podklasy do modelu relacyjnegoTrzy możliwości: Dla każdej podencji tworzona releacja z atrybutami wspólnymi oraz ze specyficznymi Elementy wspólne w jednej tabeli, dla każdej podencji oddzielna tabela wraz z ograniczeniami referencyjnymi (klucze główne dodane do tabel stworzonych dla podencji) Stworzenie tylko jednej relacji (atrybuty mogą przyjmować null) dr Paweł Drozda
60 Podklasy przykład nrindeksu nazwisko Student czesne isa isa ZaocznyDzienny stypendium Student nrindeksu nazwisko Student nrindeksu nazwisko stypendium czesne Dzienny nrindeksu stypendium Zaoczny nrindeksu czesne dr Paweł Drozda