Modelowanie model związków encji
description
Transcript of Modelowanie model związków encji
Modelowanie model związków encji
Wykład 3Prowadzący: dr Paweł Drozda
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
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
Etapy tworzenia bazy danych
dr Paweł Drozda
Model w głowie
Zapis za pomocą modelu związków encji
Model relacyjny Baza
danych
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
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
Przykład – notacja Barkera
dr Paweł Drozda
PeselNazwiskoZarobki
PRACOWNIKNrIndeksuNazwisko
STUDENTId Nazwa
PRZEDMIOT
prowadzizdaje
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
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
Przykład Barker
dr Paweł Drozda
PeselNazwiskoPłeć
OSOBARasaImię
PIES
OsobaPesel = 77021211111Nazwisko = KowalskiPłeć = Kobieta
PiesRasa = KundelImię = Bury
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
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)
dr Paweł Drozda
Rodzaje atrybutów - przykładpesel
Osoba Film
nazwisko tytuł rok
zarobki
adres
płećtelefon długośćgatunek
Przykład Barker
dr Paweł Drozda
# Pesel* Nazwisko* Płeć* Zarobki Adres Telefon
OSOBA# Tytuł# Rok(#) Gatunek* Długość
Film
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
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
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ę
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
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
dr Paweł Drozda
Związki wieloargumentowe (1) Możliwość definicji związku
wieloargumentowego Co najmniej 3 encje są związane
Kierowca PolicjantMandat
Wykroczenie
dr Paweł Drozda
Związki wieloargumentowe (2)
LekarzPielęgniarkaOperacja
Pacjent
Sala
Związki wieloargumentowe – notacja Berkera Gdy związek wieloargumentowy –
zamienia się w encję
dr Paweł Drozda
Mandat POLICJANTKIEROWCA
WYKROCZENIE
Rozszerzenie – poprzedni przykład
dr Paweł Drozda
Ze strony ważniak
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
dr Paweł Drozda
Typy związków - podsumowanie
Stadion Mecz
Drużyna
Sędzia
GospodarzeGoście
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
dr Paweł Drozda
Atrybuty związku - przykład
Stadion
Drużyna
Sędzia
Mecz
liczba widzów
typ meczu
data
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
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ą
dr Paweł Drozda
Zamiana związków wielo- argumentowych na binarne -przykład
Stadion Miejsce
Drużyna
Sędzia
Goście
Arbiter
Gospodarze
Mecz
dr Paweł Drozda
Zasady projektowania Dokładność Unikanie redundancji Prostota Dobór właściwych elementów
dr Paweł Drozda
Projektowanie – przykład (1)powirzchnia
Osoba
cylindry
płećtelefon
Klasa
Nauczyciel
Wychowawca
Wychowawca
dr Paweł Drozda
Projektowanie – przykład (2)
Klasa
Nauczyciel
WychowawcaNauczyciel
Klasa
?
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
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
dr Paweł Drozda
Podklasy - przykład
Student
Zaoczny Dzienny
isa isa
nrindeksu nazwisko
stypendiumczesne
Model Berkera Specjalizacja – dzieli encje na
podencje Generalizacja łączy podencje w encje
dr Paweł Drozda
Przykład hierarchii
dr Paweł DrozdaŹródło: ważniak
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
dr Paweł Drozda
Zbiór słabych encji – przykład(1)Sala
Znajdujesię
BudynekAdres
NrSali
dr Paweł Drozda
Zbiór słabych encji – przykład(2)
Stadion Miejsce
Drużyna
Sędzia
Arbiter
MeczMecz
Goście Gospodarze
Zbiór słabych encji – przykład, notacja Berkera
dr Paweł Drozda
GażaWystępuje
FILMAKTOR
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
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ć
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
Przykład
dr Paweł Drozda
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
Związek binarny 1:1
Dodany klucz obcy po stronie związku obowiązkowego
dr Paweł Drozda
PeselNazwiskoZarobki
NAUCZYCIELId Nazwa
KLASAWychowuje
Związek binarny 1:1
Dodany klucz obcy po stronie mniejszej tabeli
dr Paweł Drozda
PeselNazwiskoZarobki
PRACOWNIKId IP
KOMPUTER
Uzywa
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
dr Paweł Drozda
Przykład
StudentEgzaminPrzedmiot
Egzaminidprzedmiotu nrindeksu
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
dr Paweł Drozda
Przykład (1)
Stadion Miejsce
Drużyna
Sędzia
Arbiter
MeczMecz
Goście Gospodarze
dr Paweł Drozda
Przykład (2)
Mecznrsędziego nazwaStadionu druzyna1 druzyna2
Wynik przekształcenia
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)
dr Paweł Drozda
Podklasy przykładStudent
Zaoczny Dziennyisa isa
nrindeksu nazwisko
stypendium
czesne
Studentnrindeksu nazwisko
Zaocznynrindeksu czesne
Studentnrindeksu nazwisko stypendiu
mczesneDzienny
nrindeksu stypendium