Modelowanie model związków encji

56
Modelowanie model związków encji Wykład 3 Prowadzący: dr Paweł Drozda

description

Modelowanie model związków encji. Wykład 3 Prowadzący: 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. - PowerPoint PPT Presentation

Transcript of Modelowanie model związków encji

Page 1: Modelowanie  model związków encji

Modelowanie model związków encji

Wykład 3Prowadzący: dr Paweł Drozda

Page 2: Modelowanie  model związków encji

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

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

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

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

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

Przykład – notacja Barkera

dr Paweł Drozda

PeselNazwiskoZarobki

PRACOWNIKNrIndeksuNazwisko

STUDENTId Nazwa

PRZEDMIOT

prowadzizdaje

Page 8: Modelowanie  model związków encji

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

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

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

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

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

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

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

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

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

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

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

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

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

dr Paweł Drozda

Związki wieloargumentowe (2)

LekarzPielęgniarkaOperacja

Pacjent

Sala

Page 22: Modelowanie  model związków encji

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

Rozszerzenie – poprzedni przykład

dr Paweł Drozda

Ze strony ważniak

Page 24: Modelowanie  model związków encji

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

dr Paweł Drozda

Typy związków - podsumowanie

Stadion Mecz

Drużyna

Sędzia

GospodarzeGoście

Page 26: Modelowanie  model związków encji

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

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

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

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

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

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

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

dr Paweł Drozda

Projektowanie – przykład (2)

Klasa

Nauczyciel

WychowawcaNauczyciel

Klasa

?

Page 34: Modelowanie  model związków encji

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

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

dr Paweł Drozda

Podklasy - przykład

Student

Zaoczny Dzienny

isa isa

nrindeksu nazwisko

stypendiumczesne

Page 37: Modelowanie  model związków encji

Model Berkera Specjalizacja – dzieli encje na

podencje Generalizacja łączy podencje w encje

dr Paweł Drozda

Page 38: Modelowanie  model związków encji

Przykład hierarchii

dr Paweł DrozdaŹródło: ważniak

Page 39: Modelowanie  model związków encji

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

dr Paweł Drozda

Zbiór słabych encji – przykład(1)Sala

Znajdujesię

BudynekAdres

NrSali

Page 41: Modelowanie  model związków encji

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

Zbiór słabych encji – przykład, notacja Berkera

dr Paweł Drozda

GażaWystępuje

FILMAKTOR

Page 43: Modelowanie  model związków encji

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

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

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

Przykład

dr Paweł Drozda

Page 47: Modelowanie  model związków encji

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

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

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

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

dr Paweł Drozda

Przykład

StudentEgzaminPrzedmiot

Egzaminidprzedmiotu nrindeksu

Page 52: Modelowanie  model związków encji

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

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

dr Paweł Drozda

Przykład (2)

Mecznrsędziego nazwaStadionu druzyna1 druzyna2

Wynik przekształcenia

Page 55: Modelowanie  model związków encji

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

dr Paweł Drozda

Podklasy przykładStudent

Zaoczny Dziennyisa isa

nrindeksu nazwisko

stypendium

czesne

Studentnrindeksu nazwisko

Zaocznynrindeksu czesne

Studentnrindeksu nazwisko stypendiu

mczesneDzienny

nrindeksu stypendium