Modelowanie model związków encji

Post on 18-Mar-2016

170 views 0 download

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

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