Download - Modelowanie model związków encji
![Page 1: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/1.jpg)
Modelowanie model związków encji
Wykład 3Prowadzący: dr Paweł Drozda
![Page 2: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/2.jpg)
dr Paweł Drozda
Modelowanie Odwzorowanie obiektów rzeczywistych
w systemie informatycznym Dwa typy modeli:
Konceptualny Model związków encji Model UML
Implementacyjny Relacyjny Obiektowy Obiektowo-relacyjny
![Page 3: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/3.jpg)
dr Paweł Drozda
Etapy projektowania systemu Analiza – jakie wymagania (dane,
funkcjonalność) powstaje model konceptualny
Projektowanie – zmiana modelu konceptualnego w model implementacyjny
Implementacja Wdrożenie Utrzymanie
![Page 4: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/4.jpg)
Etapy tworzenia bazy danych
dr Paweł Drozda
Model w głowie
Zapis za pomocą modelu związków encji
Model relacyjny Baza
danych
![Page 5: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/5.jpg)
dr Paweł Drozda
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
![Page 6: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/6.jpg)
dr Paweł Drozda
Model związków encji – przykład – notacja Chenapesel
Przedmiot
Egzamin
Pracownik Student
Prowadzenie
nazwisko nrindeksu
data
nazwisko
zarobki
nazwa id
ocena
![Page 7: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/7.jpg)
Przykład – notacja Barkera
dr Paweł Drozda
PeselNazwiskoZarobki
PRACOWNIKNrIndeksuNazwisko
STUDENTId Nazwa
PRZEDMIOT
prowadzizdaje
![Page 8: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/8.jpg)
dr Paweł Drozda
Encja Odpowiednik klasy w modelu obiektowym Zbiór obiektów o tych samych cechach
(atrybuty, własności, związki) Konkretny obiekt = wystąpienie encji
![Page 9: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/9.jpg)
dr Paweł Drozda
Encje – przykład Chenpesel
Osoba Pies
nazwisko rasa imię
płeć
Przykład wystąpieniaOsoba: 76040603149, Kucka, KOsoba: 79072203350, Drozda, M
Pies: Kundel, BuryPies: Jamnik, Długi
![Page 10: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/10.jpg)
Przykład Barker
dr Paweł Drozda
PeselNazwiskoPłeć
OSOBARasaImię
PIES
OsobaPesel = 77021211111Nazwisko = KowalskiPłeć = Kobieta
PiesRasa = KundelImię = Bury
![Page 11: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/11.jpg)
dr Paweł Drozda
Reguły modelowania encji Unikalność nazw Atrybuty Związki między encjami Obiekt reprezentowany tylko przez
jedną encję Nazwa – rzeczownik w liczbie
pojedynczej
![Page 12: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/12.jpg)
dr Paweł Drozda
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)
![Page 13: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/13.jpg)
dr Paweł Drozda
Rodzaje atrybutów - przykładpesel
Osoba Film
nazwisko tytuł rok
zarobki
adres
płećtelefon długośćgatunek
![Page 14: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/14.jpg)
Przykład Barker
dr Paweł Drozda
# Pesel* Nazwisko* Płeć* Zarobki Adres Telefon
OSOBA# Tytuł# Rok(#) Gatunek* Długość
Film
![Page 15: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/15.jpg)
dr Paweł Drozda
Związki encji Opisują połączenia pomiędzy encjami Powiązane dwie lub więcej encji Przykład:
STUDENT WYKŁADuczestniczy
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
![Page 16: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/16.jpg)
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
![Page 17: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/17.jpg)
dr Paweł Drozda
Związek 1:1 - Przykład
adresnazwisko
Klasa
nazwasala
NauczycielWychowawca
1b
2c
6a
Jan Mucha
Marta Ącka
Stefan Kula
Wychowawca
KLASA NAUCZYCIELwychowuje
ma wychowawcę
![Page 18: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/18.jpg)
dr Paweł Drozda
Związek 1:m - PrzykładWykładowcaProwadzeniePrzedmiot
Bazy danych
Analiza matematyczna
Logika
Jan Mucha
Marta Ącka
Stefan Kula
Prowadzenie
PRZEDMIOT WYKŁADOWCAprowadzi
Jest prowadzony
![Page 19: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/19.jpg)
dr Paweł Drozda
Związek m:n - PrzykładStudentEgzaminPrzedmiot
Bazy danych
Analiza matematyczna
Logika
Jan Mucha
Marta Ącka
Stefan Kula
Egzamin
PRZEDMIOT STUDENTzdaje
Jest zdawany
![Page 20: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/20.jpg)
dr Paweł Drozda
Związki wieloargumentowe (1) Możliwość definicji związku
wieloargumentowego Co najmniej 3 encje są związane
Kierowca PolicjantMandat
Wykroczenie
![Page 21: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/21.jpg)
dr Paweł Drozda
Związki wieloargumentowe (2)
LekarzPielęgniarkaOperacja
Pacjent
Sala
![Page 22: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/22.jpg)
Związki wieloargumentowe – notacja Berkera Gdy związek wieloargumentowy –
zamienia się w encję
dr Paweł Drozda
Mandat POLICJANTKIEROWCA
WYKROCZENIE
![Page 23: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/23.jpg)
Rozszerzenie – poprzedni przykład
dr Paweł Drozda
Ze strony ważniak
![Page 24: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/24.jpg)
dr Paweł Drozda
Związek rekursywny Podwójne wystąpienie encji w związku Zarówno dla związków
dwuargumentowych jak i wieloargumentowych
rodzic
Osoba
![Page 25: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/25.jpg)
dr Paweł Drozda
Typy związków - podsumowanie
Stadion Mecz
Drużyna
Sędzia
GospodarzeGoście
![Page 26: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/26.jpg)
dr Paweł Drozda
Atrybuty związków Gdy związek posiada specyficzne
cechy Można stworzyć encję dla związku z
atrybutami odnoszącymi się do związku
![Page 27: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/27.jpg)
dr Paweł Drozda
Atrybuty związku - przykład
Stadion
Drużyna
Sędzia
Mecz
liczba widzów
typ meczu
data
![Page 28: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/28.jpg)
Przykład – atrybuty związku
dr Paweł Drozda
GażaWystępuje
FILMAKTOR
Gdy związek posiada atrybuty – konieczność wprowadzenia dodatkowej encjiPojawiają się związki typu wieleOd strony związku – obowiązkowe
![Page 29: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/29.jpg)
dr Paweł Drozda
Zamiana związków wielo- argumentowych na binarne Zamiana związku na encję Każda encja związku
wieloargumentowego wchodzi w związek binarny jeden do wielu z nową encją
![Page 30: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/30.jpg)
dr Paweł Drozda
Zamiana związków wielo- argumentowych na binarne -przykład
Stadion Miejsce
Drużyna
Sędzia
Goście
Arbiter
Gospodarze
Mecz
![Page 31: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/31.jpg)
dr Paweł Drozda
Zasady projektowania Dokładność Unikanie redundancji Prostota Dobór właściwych elementów
![Page 32: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/32.jpg)
dr Paweł Drozda
Projektowanie – przykład (1)powirzchnia
Osoba
cylindry
płećtelefon
Klasa
Nauczyciel
Wychowawca
Wychowawca
![Page 33: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/33.jpg)
dr Paweł Drozda
Projektowanie – przykład (2)
Klasa
Nauczyciel
WychowawcaNauczyciel
Klasa
?
![Page 34: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/34.jpg)
dr Paweł Drozda
Podklasy/Nadklasy Uszczegółowienie encji Reprezentowane przez trójkąt na
krawędzi łączącej encje (często z napisem isa)
Podział celu wyodrębnienia podgrup o specyficznych cechach
![Page 35: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/35.jpg)
Cechy hierarchizacji Podencje dziedziczą atrybuty z
nadencji Każ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
![Page 36: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/36.jpg)
dr Paweł Drozda
Podklasy - przykład
Student
Zaoczny Dzienny
isa isa
nrindeksu nazwisko
stypendiumczesne
![Page 37: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/37.jpg)
Model Berkera Specjalizacja – dzieli encje na
podencje Generalizacja łączy podencje w encje
dr Paweł Drozda
![Page 38: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/38.jpg)
Przykład hierarchii
dr Paweł DrozdaŹródło: ważniak
![Page 39: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/39.jpg)
dr Paweł Drozda
Zbiory słabych encji Atrybuty klucza wybierane z innego
zbioru encji Oznaczane przez podwójne linie Przyczyny
Hierarchiczny układ zbiorów encji Zbiory łączące eliminujące związki
wieloargumentowe
![Page 40: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/40.jpg)
dr Paweł Drozda
Zbiór słabych encji – przykład(1)Sala
Znajdujesię
BudynekAdres
NrSali
![Page 41: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/41.jpg)
dr Paweł Drozda
Zbiór słabych encji – przykład(2)
Stadion Miejsce
Drużyna
Sędzia
Arbiter
MeczMecz
Goście Gospodarze
![Page 42: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/42.jpg)
Zbiór słabych encji – przykład, notacja Berkera
dr Paweł Drozda
GażaWystępuje
FILMAKTOR
![Page 43: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/43.jpg)
dr Paweł Drozda
Słabe encje - wymagania Encje (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
![Page 44: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/44.jpg)
dr Paweł Drozda
Związki encji => projekty relacyjne Encja (nie słaba) przekształcana do
relacji z tą samą nazwą oraz tym samym zbiorem atrybutówPESEL
Osoba
nazwisko
płećtelefon
OsobaPESEL nazwisko telefo
npłeć
![Page 45: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/45.jpg)
Reguły przekształcania Encja 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
![Page 46: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/46.jpg)
Przykład
dr Paweł Drozda
![Page 47: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/47.jpg)
Przekształcanie związków 1:1 – klucz obcy w wybranej tabeli 1:M – klucz obcy w tabeli po stronie
wiele N:M – nowa tabela
dr Paweł Drozda
![Page 48: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/48.jpg)
Związek binarny 1:1
Dodany klucz obcy po stronie związku obowiązkowego
dr Paweł Drozda
PeselNazwiskoZarobki
NAUCZYCIELId Nazwa
KLASAWychowuje
![Page 49: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/49.jpg)
Związek binarny 1:1
Dodany klucz obcy po stronie mniejszej tabeli
dr Paweł Drozda
PeselNazwiskoZarobki
PRACOWNIKId IP
KOMPUTER
Uzywa
![Page 50: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/50.jpg)
dr Paweł Drozda
Związek N:M encji do relacji Zwią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
![Page 51: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/51.jpg)
dr Paweł Drozda
Przykład
StudentEgzaminPrzedmiot
Egzaminidprzedmiotu nrindeksu
![Page 52: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/52.jpg)
dr Paweł Drozda
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
![Page 53: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/53.jpg)
dr Paweł Drozda
Przykład (1)
Stadion Miejsce
Drużyna
Sędzia
Arbiter
MeczMecz
Goście Gospodarze
![Page 54: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/54.jpg)
dr Paweł Drozda
Przykład (2)
Mecznrsędziego nazwaStadionu druzyna1 druzyna2
Wynik przekształcenia
![Page 55: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/55.jpg)
dr Paweł Drozda
Podklasy do modelu relacyjnego Trzy 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)
![Page 56: Modelowanie model związków encji](https://reader035.vdocuments.pub/reader035/viewer/2022062502/56814b0d550346895db826ca/html5/thumbnails/56.jpg)
dr Paweł Drozda
Podklasy przykładStudent
Zaoczny Dziennyisa isa
nrindeksu nazwisko
stypendium
czesne
Studentnrindeksu nazwisko
Zaocznynrindeksu czesne
Studentnrindeksu nazwisko stypendiu
mczesneDzienny
nrindeksu stypendium