Modelowanie model związków encji

Preview:

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

Wykład 2

Prowadzący: dr Paweł Drozda

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

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

Projektowanie – zmiana modelu konceptualnego w model implementacyjny

ImplementacjaWdrożenieUtrzymanie

dr Paweł Drozda

Etapy projektowania systemu

dr Paweł Drozda

Etapy tworzenia bazy danych

Model w głowie

Zapis za pomocą modelu związków encji

Model relacyjny

Baza danych

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

dr Paweł Drozda

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

pesel

Przedmiot

Egzamin

PracownikStudent

Prowadzenie

nazwisko nrindeksu

data

nazwisko

zarobki

nazwaid

ocena

dr Paweł Drozda

Przykład – notacja Barkera

PeselNazwiskoZarobki

PRACOWNIKNrIndeksuNazwisko

STUDENT

Id Nazwa

PRZEDMIOT

prowadzizdaje

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

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

dr Paweł Drozda

Przykład Barker

PeselNazwiskoPłeć

OSOBA

RasaImię

PIES

OsobaPesel = 77021211111Nazwisko = KowalskiPłeć = Kobieta

PiesRasa = KundelImię = Bury

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

dr Paweł Drozda

Rodzaje atrybutów - przykład

pesel

OsobaFilm

nazwisko tytuł rok

zarobki

adres

płećtelefon długośćgatunek

dr Paweł Drozda

Przykład Barker

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

OSOBA

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

Film

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

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

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ład

Wykł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ład

StudentEgzaminPrzedmiot

Bazy danych

Analiza matematyczna

Logika

Jan Mucha

Marta Ącka

Stefan Kula

Egzamin

PRZEDMIOT STUDENTzdaje

Jest zdawany

Możliwość definicji związku wieloargumentowego

Co najmniej 3 encje są związane

dr Paweł Drozda

Związki wieloargumentowe (1)

Kierowca PolicjantMandat

Wykroczenie

dr Paweł Drozda

Związki wieloargumentowe (2)

LekarzPielęgniarka

Operacja

Pacjent

Sala

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

dr Paweł Drozda

Związki wieloargumentowe – notacja Berkera

Mandat POLICJANTKIEROWCA

WYKROCZENIE

dr Paweł Drozda

Rozszerzenie – poprzedni przykład

Ze strony ważniak

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

dr Paweł Drozda

Typy związków - podsumowanie

Stadion Mecz

Drużyna

Sędzia

GospodarzeGoście

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

dr Paweł Drozda

Atrybuty związku - przykład

Stadion

Drużyna

Sędzia

Mecz

liczba widzów

typ meczu

data

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

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ć

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

dr Paweł Drozda

Przykład

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

Dodany klucz obcy po stronie związku obowiązkowego

dr Paweł Drozda

Związek binarny 1:1

PeselNazwiskoZarobki

NAUCZYCIELId Nazwa

KLASAWychowuje

Dodany klucz obcy po stronie mniejszej tabeli

dr Paweł Drozda

Związek binarny 1:1

PeselNazwiskoZarobki

PRACOWNIKId IP

KOMPUTER

Uzywa

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

dr Paweł Drozda

Przykład

StudentEgzaminPrzedmiot

Egzamin

idprzedmiotu nrindeksu

Normalizacja baz danych

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

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

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:

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)

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

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

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

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)

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

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)

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

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

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ą

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

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

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

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

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)

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

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

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

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)

Recommended