Upload
amity-garrett
View
44
Download
0
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
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)