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

Modelowanie model związków encji

Embed Size (px)

DESCRIPTION

Modelowanie model związków encji. Wykład 2 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

Citation preview

Page 1: Modelowanie  model związków encji

Wykład 2

Prowadzący: dr Paweł Drozda

Modelowanie model związków encji

Page 2: Modelowanie  model związków encji

Odwzorowanie obiektów rzeczywistych w systemie informatycznym

Dwa typy modeli:Konceptualny

Model związków encjiModel UML

ImplementacyjnyRelacyjnyObiektowyObiektowo-relacyjny

dr Paweł Drozda

Modelowanie

Page 3: Modelowanie  model związków encji

Analiza – jakie wymagania (dane, funkcjonalność) powstaje model konceptualny

Projektowanie – zmiana modelu konceptualnego w model implementacyjny

ImplementacjaWdrożenieUtrzymanie

dr Paweł Drozda

Etapy projektowania systemu

Page 4: Modelowanie  model związków encji

dr Paweł Drozda

Etapy tworzenia bazy danych

Model w głowie

Zapis za pomocą modelu związków encji

Model relacyjny

Baza danych

Page 5: Modelowanie  model związków encji

Część rzeczywistości zapisana za pomocą encji (entities)

Atrybuty – właściwości encjiPowiązania w strukturze obiektów – związki

pomiędzy encjami

dr Paweł Drozda

Model związków encji

Page 6: Modelowanie  model związków encji

dr Paweł Drozda

Model związków encji – przykład – notacja Chena

pesel

Przedmiot

Egzamin

PracownikStudent

Prowadzenie

nazwisko nrindeksu

data

nazwisko

zarobki

nazwaid

ocena

Page 7: Modelowanie  model związków encji

dr Paweł Drozda

Przykład – notacja Barkera

PeselNazwiskoZarobki

PRACOWNIKNrIndeksuNazwisko

STUDENT

Id Nazwa

PRZEDMIOT

prowadzizdaje

Page 8: Modelowanie  model związków encji

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

Encja

Page 9: Modelowanie  model związków encji

dr Paweł Drozda

Encje – przykład Chen

pesel

OsobaPies

nazwisko rasa imię

płeć

Przykład wystąpieniaOsoba: 76040603149, Kucka, KOsoba: 79072203350, Drozda, M

Pies: Kundel, Bury

Pies: Jamnik, Długi

Page 10: Modelowanie  model związków encji

dr Paweł Drozda

Przykład Barker

PeselNazwiskoPłeć

OSOBA

RasaImię

PIES

OsobaPesel = 77021211111Nazwisko = KowalskiPłeć = Kobieta

PiesRasa = KundelImię = Bury

Page 11: Modelowanie  model związków encji

Identyfikatory – jednoznacznie opisują wystąpienie encjiNaturalne – PESEL, NrDowodu, itd.Sztuczne – nrIdentyfikacyjny, idpracownika

Deskryptory – pozostałe atrybuty opisujące encjęDeklaracja atrybutu

NazwaDziedzina (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

Atrybuty encji

Page 12: Modelowanie  model związków encji

dr Paweł Drozda

Rodzaje atrybutów - przykład

pesel

OsobaFilm

nazwisko tytuł rok

zarobki

adres

płećtelefon długośćgatunek

Page 13: Modelowanie  model związków encji

dr Paweł Drozda

Przykład Barker

# Pesel* Nazwisko* Płeć* Zarobki Adres Telefon

OSOBA

# Tytuł# Rok(#) Gatunek* Długość

Film

Page 14: Modelowanie  model związków encji

Opisują połączenia pomiędzy encjamiPowiązane dwie lub więcej encjiPrzykład:

dr Paweł Drozda

Związki encji

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 15: Modelowanie  model związków encji

Liczebność (unarny - rekursywny, binarny, tetrarny, n-arny)

Istnienie (opcjonalny, obowiązkowy)Karynalność

1:1 – jeden do jednego1:M – jeden do wieluN:M – wiele do wielu

dr Paweł Drozda

Cechy związku

Page 16: 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 17: Modelowanie  model związków encji

dr Paweł Drozda

Związek 1:m - Przykład

WykładowcaProwadzeniePrzedmiot

Bazy danych

Analiza matematyczna

Logika

Jan Mucha

Marta Ącka

Stefan Kula

Prowadzenie

PRZEDMIOT WYKŁADOWCAprowadzi

Jest prowadzony

Page 18: Modelowanie  model związków encji

dr Paweł Drozda

Związek m:n - Przykład

StudentEgzaminPrzedmiot

Bazy danych

Analiza matematyczna

Logika

Jan Mucha

Marta Ącka

Stefan Kula

Egzamin

PRZEDMIOT STUDENTzdaje

Jest zdawany

Page 19: Modelowanie  model związków encji

Możliwość definicji związku wieloargumentowego

Co najmniej 3 encje są związane

dr Paweł Drozda

Związki wieloargumentowe (1)

Kierowca PolicjantMandat

Wykroczenie

Page 20: Modelowanie  model związków encji

dr Paweł Drozda

Związki wieloargumentowe (2)

LekarzPielęgniarka

Operacja

Pacjent

Sala

Page 21: Modelowanie  model związków encji

Gdy związek wieloargumentowy – zamienia się w encję

dr Paweł Drozda

Związki wieloargumentowe – notacja Berkera

Mandat POLICJANTKIEROWCA

WYKROCZENIE

Page 22: Modelowanie  model związków encji

dr Paweł Drozda

Rozszerzenie – poprzedni przykład

Ze strony ważniak

Page 23: Modelowanie  model związków encji

Podwójne wystąpienie encji w związkuZarówno dla związków dwuargumentowych

jak i wieloargumentowych

dr Paweł Drozda

Związek rekursywny

rodzic

Osoba

Page 24: Modelowanie  model związków encji

dr Paweł Drozda

Typy związków - podsumowanie

Stadion Mecz

Drużyna

Sędzia

GospodarzeGoście

Page 25: Modelowanie  model związków encji

Gdy związek posiada specyficzne cechyMożna stworzyć encję dla związku z

atrybutami odnoszącymi się do związku

dr Paweł Drozda

Atrybuty związków

Page 26: 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 27: Modelowanie  model związków encji

dr Paweł Drozda

Przykład – atrybuty związku

Gaża

Występuje

FILMAKTOR

Gdy związek posiada atrybuty – konieczność wprowadzenia dodatkowej encjiPojawiają się związki typu wieleOd strony związku – obowiązkowe

Page 28: Modelowanie  model związków encji

Encja (nie słaba) przekształcana do relacji z tą samą nazwą oraz tym samym zbiorem atrybutów

dr Paweł Drozda

Związki encji => projekty relacyjne

PESEL

Osoba

nazwisko

płećtelefon

Osoba

PESEL nazwisko telefon

płeć

Page 29: Modelowanie  model związków encji

Encja RelacjaAtrybut encji Atrybut relacjiTyp danych atrybutu encji Typ danych atrybutu

relacjiIdentyfikator klucz podstawowyObowiązkowość atrybutu NOT NULLOpcjonalność NULLPozostałe ograniczenia atrybutów encji

ograniczenia integralnościowe relacji

dr Paweł Drozda

Reguły przekształcania

Page 30: Modelowanie  model związków encji

dr Paweł Drozda

Przykład

Page 31: Modelowanie  model związków encji

1:1 – klucz obcy w wybranej tabeli1:M – klucz obcy w tabeli po stronie wieleN:M – nowa tabela

dr Paweł Drozda

Przekształcanie związków

Page 32: Modelowanie  model związków encji

Dodany klucz obcy po stronie związku obowiązkowego

dr Paweł Drozda

Związek binarny 1:1

PeselNazwiskoZarobki

NAUCZYCIELId Nazwa

KLASAWychowuje

Page 33: Modelowanie  model związków encji

Dodany klucz obcy po stronie mniejszej tabeli

dr Paweł Drozda

Związek binarny 1:1

PeselNazwiskoZarobki

PRACOWNIKId IP

KOMPUTER

Uzywa

Page 34: Modelowanie  model związków encji

Związki przyjmują postać relacjiKlucze encji uczestniczących w związku jako

atrybuty relacjiGdy związek ma własny klucz – dołączany do

atrybutów relacji

dr Paweł Drozda

Związek N:M encji do relacji

Page 35: Modelowanie  model związków encji

dr Paweł Drozda

Przykład

StudentEgzaminPrzedmiot

Egzamin

idprzedmiotu nrindeksu

Page 36: Modelowanie  model związków encji

Normalizacja baz danych

Page 37: Modelowanie  model związków encji

dr Paweł Drozda

Po co normalizować? (1)

Student

nrindeksu

nazwisko adres przedmiot ocena

127000 Maliniak Świerkowa 6 Analiza 2

127000 Maliniak Świerkowa 6 Algebra 3

127000 Maliniak Świerkowa 6 Bazy danych

3

127000 Maliniak Świerkowa 6 W-F 5

123123 Kowal Akacjowa 1 Algebra 4

123123 Kowal Akacjowa 1 Bazy danych

5

123123 Kowal Akacjowa 1 W-F 3

666555 Nowak Różana 4/78 PTO 3

666555 Nowak Różana 4/78 Sieci 4

Page 38: Modelowanie  model związków encji

dr Paweł Drozda

Po co normalizować? (2)nrindeksu, przedmiot – pole unikalneProblemy (anomalie):

RedundancjaPrzy wprowadzaniu danychPrzy usuwaniu danychPrzy aktualizacji

Rozwiązanie – rozkład relacji na relacje Student oraz Egzamin

Page 39: Modelowanie  model związków encji

dr Paweł Drozda

Po co normalizować? (3)

Student

nrindeksu nazwisko adres

127000 Maliniak Świerkowa 6

123123 Kowal Akacjowa 1

666555 Nowak Różana 4/78

Egzamin

nrindeksu przedmiot ocena

127000 Analiza 2

127000 Algebra 3

127000 Bazy danych 3

127000 W-F 5

123123 Algebra 4

123123 Bazy danych 5

123123 W-F 3

666555 PTO 3

666555 Sieci 4

Rozwiązanie:

Page 40: Modelowanie  model związków encji

dr Paweł Drozda

Po co normalizować? (4)

adres i nazwisko – tylko w jednej krotce (rozwiązanie redeundancji)

przy wstawianiu nowego studenta – niekoniecznie przedmiot i ocena (rozwiązanie problemu wstawiania)

usunięcie egzaminu nie usuwa studenta (rozwiązanie problemu usuwania)

aktualizacja adresu, nazwiska – tylko raz (rozwiązanie problemu aktualizacji)

Page 41: Modelowanie  model związków encji

dr Paweł Drozda

Zależności funkcyjne (1)Definicja

Jeśli dwie krotki relacji R są zgodne dla atrybutów A1,…,An to muszą być zgodne w pewnym atrybucie B

Zapis A1,…,An B

Gdy: A1,…,An B1 … A1,…,An Bm, to zapisujemy

A1,…,An B1,…,Bm

Page 42: Modelowanie  model związków encji

dr Paweł Drozda

Zależności funkcyjne – przykład (1)

Student

nrindeksu nazwisko adres przedmiot ocena

127000 Maliniak Świerkowa 6 Analiza 2

127000 Maliniak Świerkowa 6 Algebra 3

127000 Maliniak Świerkowa 6 Bazy danych 3

127000 Maliniak Świerkowa 6 W-F 5

123123 Kowal Akacjowa 1 Algebra 4

123123 Kowal Akacjowa 1 Bazy danych 5

123123 Kowal Akacjowa 1 W-F 3

666555 Nowak Różana 4/78 PTO 3

666555 Nowak Różana 4/78 Sieci 4

Page 43: Modelowanie  model związków encji

dr Paweł Drozda

Zależności funkcyjne – przykład (2)Zależności funkcyjne

nrindeksu nazwiskonrindeksu adres

ponieważ:127000 Maliniak, Świerkowa 6123123 Kowal, Akacjowa 1666555 Nowak, Różana 4/78

Page 44: Modelowanie  model związków encji

dr Paweł Drozda

KluczeNadklucz – podzbiór atrybutów w relacji od którego

wszystkie pozostałe zależą funkcyjnieZbiór atrybutów (A1,…,An) tworzy klucz relacji jeżeli:

Pozostałe atrybuty są funkcyjnie zależne od (A1,…,An) Nie istnieje podzbiór zbioru {A1,…,An}, od którego

pozostałe atrybuty są funkcyjnie zależne (klucz musi być minimalny)

Page 45: Modelowanie  model związków encji

dr Paweł Drozda

Klucze – przykład (1)

Zaliczenie

nrindeksu przedmiot Data ocena

12345 Analiza 2008-02-21 3,5

12345 Algebra 2008-02-21 3,5

12345 PTO 2008-02-01 5

12345 Bazy Danych 2008-02-01 5

54321 Bazy Danych 2008-02-08 5

54321 Algebra 2008-02-21 3,5

54321 PTO 2008-02-05 3

66666 Bazy Danych 2008-02-01 2

66666 PTO 2008-02-11 3

Page 46: Modelowanie  model związków encji

dr Paweł Drozda

Klucze – przykład (2)

Klucz – (nrindeksu, przedmiot)Pozostałe dwa pola zależne funkcyjnie od

nrindeksu i przedmiotnrindeksu, przedmiot data, ocena (przy

założeniu że dany student może mieć jedną ocenę z zaliczenia)

Page 47: Modelowanie  model związków encji

dr Paweł Drozda

Normalizacja

Dekompozycja relacji, aż do osiągnięcia pożądanych cech schematu – różnych dla każdej postaci normalnej

Własności normalizacji:zachowania atrybutówzachowania informacjizachowania zależności

Page 48: Modelowanie  model związków encji

dr Paweł Drozda

Postać normalna Boyce’a - CoddaDefinicja – relacja jest w postaci normalnej

Boyce’a – Codda wtw gdy dla każdej zależności nietrywialnej A1,…,An B zbiór {A1,…,An} jest nadkluczem tej relacji

Page 49: Modelowanie  model związków encji

dr Paweł Drozda

BCNF – przykład (1)Relacja: adresmiasta(kod,miasto,ulicanr)Zależności funkcyjne

kod miasto, miasto,ulica kodKlucz (miasto, ulica)

Relacja nie jest w BCNF ponieważ pierwsza zależność jest niezgodna z definicją

Page 50: Modelowanie  model związków encji

dr Paweł Drozda

BCNF – przykład (2)

Wykładowcy w BCNF

pesel Nazwisko

78071103350

Kowal

78071103350

Kowal

68121103312

Nowak

Przedmioty w BCNF

przedmiot pesel

Analiza 78071103350

Algebra 78071103350

Bazy Danych 68121103312

Page 51: Modelowanie  model związków encji

dr Paweł Drozda

BCNF - dekompozycja

Odnalezienie nietrywialnej zależności funkcyjnej: A1A2...An B1B2...Bn, która narusza BCNF – tzn. A1A2...An nie jest nadkluczem

Dodanie do prawej strony wszystkich atrybutów zależnych funkcyjnie od A1A2...An – w ten sposób powstaje nowa relacja

Druga relacja będzie się składała z atrybutów A1A2...An oraz z pozostałych (poza B1B2...Bn) atrybutów relacji

Page 52: Modelowanie  model związków encji

dr Paweł Drozda

BCNF – dekompozycja - przykład

Zaliczenie

nrindeksu przedmiot Nazwisko ocena

Student w BCNF

nrindeksu Nazwisko

Zaliczenie BCNF

nrindeksu przedmiot ocena

Nrindeksu, przedmiot ocena nrindeksu nazwisko

Page 53: Modelowanie  model związków encji

dr Paweł Drozda

Zależności wielowartościowe (1)Oznaczenie:

A B – dla każdego zbioru argumentów A istnieje wiele różnych argumentów z Bnp. dla relacji osoba:Pesel kat.prawajazdy

Jeśli w relacji są co najmniej dwie zależności wielowartościowe - redundancja

Page 54: Modelowanie  model związków encji

dr Paweł Drozda

Zależności wielowartościowe (2)

Loty

Lot Dzień Typsamolotu

100 Poniedziałek 111

100 Wtorek 111

100 Poniedziałek 222

100 Wtorek 222

na jednej trasie – dwa typy samolotów

Modyfikacja – dodatkowy dzień (czwartek) dodatkowy typ samolotów (333)

Page 55: Modelowanie  model związków encji

dr Paweł Drozda

Zależności wielowartościowe (3)

Loty

Lot Dzień Typsamolotu

100 Poniedziałek 111

100 Wtorek 111

100 Czwartek 111

100 Poniedziałek 222

100 Wtorek 222

100 Czwartek 222

100 Poniedziałek 333

100 Wtorek 333

100 Czwartek 333

Doszło 5 krotek.

Rozwiązanie:

DekompozycjaLoty 1

Lot Dzień

100 Poniedziałek

100 Wtorek

100 Czwartek

Loty 2

Lot Typsamolotu

100 111

100 222

100 333

Page 56: Modelowanie  model związków encji

dr Paweł Drozda

Zależności wielowartościowe (4)Konsekwencja 1NF – nie dopuszcza aby krotki

zawierały atrybuty wielowartościoweZależność trywialna

XY jest trywialna, gdy:Y jest podzbiorem X lub X suma Y =R

Page 57: Modelowanie  model związków encji

dr Paweł Drozda

Czwarta postać normalnaDefinicja:

Relacja jest w 4NF wtw gdy:relacja jest w 3NF i każda zależnośćA1,…,An B1,…,Bm jest trywialna lub {A1,…,An} jest nadkluczem

Page 58: Modelowanie  model związków encji

dr Paweł Drozda

Dekompozycja na relacje w 4NFRelacja R dekomponuje się na relacje R1 i R2

bez utraty informacji, gdy:

R1 iloczyn R2 (R1-R2) lubR1 iloczyn R2 (R2-R1)