Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Modelowanie model związków encji
Wykład 2 Prowadzący: dr Paweł Drozda
2
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
3
Etapy projektowania systemu
Analiza – jakie wymagania (dane, funkcjonalność) powstaje model konceptualny Projektowanie – zmiana modelu konceptualnego w model implementacyjny Implementacja Wdrożenie Utrzymanie dr Paweł Drozda
4
Etapy tworzenia bazy danych
Zapis za pomocą modelu związków encji Model relacyjny Model w głowie Baza danych dr Paweł Drozda
5
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
6
Model związków encji – przykład – notacja Chena
nrindeksu nazwisko nazwisko pesel zarobki Student Pracownik data Prowadzenie Egzamin Przedmiot ocena nazwa id dr Paweł Drozda
7
Przykład – notacja Barkera
PRZEDMIOT STUDENT PRACOWNIK zdaje Id Nazwa NrIndeksu Nazwisko Pesel Nazwisko Zarobki prowadzi dr Paweł Drozda
8
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
9
Encje – przykład Chen rasa nazwisko imię pesel płeć Pies Osoba
Przykład wystąpienia Osoba: , Kucka, K Osoba: , Drozda, M Pies: Kundel, Bury Pies: Jamnik, Długi dr Paweł Drozda
10
Przykład Barker PIES OSOBA Rasa Pesel Imię Nazwisko Płeć Pies Osoba
Rasa = Kundel Imię = Bury Osoba Pesel = Nazwisko = Kowalski Płeć = Kobieta dr Paweł Drozda
11
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
12
Rodzaje atrybutów - przykład
tytuł nazwisko rok pesel zarobki Film Osoba adres gatunek telefon długość płeć dr Paweł Drozda
13
Przykład Barker Film OSOBA # Tytuł # Pesel # Rok * Nazwisko
(#) Gatunek * Długość # Pesel * Nazwisko * Płeć * Zarobki Adres Telefon dr Paweł Drozda
14
Związki encji Opisują połączenia pomiędzy encjami
Powiązane dwie lub więcej encji Przykład: uczestniczy STUDENT WYKŁAD 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 dr Paweł Drozda
15
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
16
Związek 1:1 - Przykład Nauczyciel Klasa Wychowawca nazwisko adres
nazwa sala 1b 2c 6a Wychowawca Jan Mucha Marta Ącka Stefan Kula wychowuje KLASA NAUCZYCIEL ma wychowawcę dr Paweł Drozda
17
Związek 1:m - Przykład Prowadzenie Wykładowca Przedmiot Jan Mucha
Marta Ącka Stefan Kula Bazy danych Analiza matematyczna Logika Prowadzenie prowadzi PRZEDMIOT WYKŁADOWCA Jest prowadzony dr Paweł Drozda
18
Związek m:n - Przykład Egzamin Student Przedmiot Bazy danych
Analiza matematyczna Logika Egzamin Jan Mucha Marta Ącka Stefan Kula zdaje PRZEDMIOT STUDENT Jest zdawany dr Paweł Drozda
19
Związki wieloargumentowe (1)
Możliwość definicji związku wieloargumentowego Co najmniej 3 encje są związane Mandat Kierowca Policjant Wykroczenie dr Paweł Drozda
20
Związki wieloargumentowe (2)
Sala Pielęgniarka Operacja Lekarz Pacjent dr Paweł Drozda
21
Związki wieloargumentowe – notacja Berkera
Gdy związek wieloargumentowy – zamienia się w encję KIEROWCA Mandat POLICJANT WYKROCZENIE dr Paweł Drozda
22
Rozszerzenie – poprzedni przykład
Ze strony ważniak dr Paweł Drozda
23
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
24
Typy związków - podsumowanie
Sędzia Mecz Stadion Gospodarze Goście Drużyna dr Paweł Drozda
25
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
26
Atrybuty związku - przykład
Sędzia liczba widzów Mecz typ meczu Stadion data Drużyna dr Paweł Drozda
27
Przykład – atrybuty związku
Występuje Gaża FILM AKTOR Gdy związek posiada atrybuty – konieczność wprowadzenia dodatkowej encji Pojawiają się związki typu wiele Od strony związku – obowiązkowe dr Paweł Drozda
28
Związki encji => projekty relacyjne
Encja (nie słaba) przekształcana do relacji z tą samą nazwą oraz tym samym zbiorem atrybutów nazwisko PESEL Osoba PESEL nazwisko telefon płeć Osoba telefon płeć dr Paweł Drozda
29
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
30
Przykład dr Paweł Drozda
31
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
32
Związek binarny 1:1 Dodany klucz obcy po stronie związku obowiązkowego
KLASA NAUCZYCIEL Wychowuje Id Nazwa Pesel Nazwisko Zarobki Dodany klucz obcy po stronie związku obowiązkowego dr Paweł Drozda
33
Związek binarny 1:1 Dodany klucz obcy po stronie mniejszej tabeli
KOMPUTER PRACOWNIK Id IP Pesel Nazwisko Zarobki Uzywa Dodany klucz obcy po stronie mniejszej tabeli dr Paweł Drozda
34
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
35
Przykład Egzamin Student Przedmiot Egzamin idprzedmiotu nrindeksu
dr Paweł Drozda
36
Normalizacja baz danych
37
Po co normalizować? (1) Student nrindeksu nazwisko adres przedmiot
ocena 127000 Maliniak Świerkowa 6 Analiza 2 Algebra 3 Bazy danych W-F 5 123123 Kowal Akacjowa 1 4 666555 Nowak Różana 4/78 PTO Sieci dr Paweł Drozda
38
Po co normalizować? (2) nrindeksu, przedmiot – pole unikalne
Problemy (anomalie): Redundancja Przy wprowadzaniu danych Przy usuwaniu danych Przy aktualizacji Rozwiązanie – rozkład relacji na relacje Student oraz Egzamin dr Paweł Drozda
39
Po co normalizować? (3) Rozwiązanie: Egzamin nrindeksu przedmiot ocena
127000 Analiza 2 Algebra 3 Bazy danych W-F 5 123123 4 666555 PTO Sieci Student nrindeksu nazwisko adres 127000 Maliniak Świerkowa 6 123123 Kowal Akacjowa 1 666555 Nowak Różana 4/78 dr Paweł Drozda
40
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
41
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
42
Zależności funkcyjne – przykład (1)
Student nrindeksu nazwisko adres przedmiot ocena 127000 Maliniak Świerkowa 6 Analiza 2 Algebra 3 Bazy danych W-F 5 123123 Kowal Akacjowa 1 4 666555 Nowak Różana 4/78 PTO Sieci dr Paweł Drozda
43
Zależności funkcyjne – przykład (2)
nrindeksu nazwisko nrindeksu adres ponieważ: Maliniak, Świerkowa 6 Kowal, Akacjowa 1 Nowak, Różana 4/78 dr Paweł Drozda
44
Klucze Nadklucz – podzbiór atrybutów w relacji od którego wszystkie pozostałe zależą funkcyjnie Zbió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
45
Klucze – przykład (1) Zaliczenie nrindeksu przedmiot Data ocena 12345
Analiza 3,5 Algebra PTO 5 Bazy Danych 54321 3 66666 2 dr Paweł Drozda
46
Klucze – przykład (2) Klucz – (nrindeksu, przedmiot)
Pozostałe dwa pola zależne funkcyjnie od nrindeksu i przedmiot nrindeksu, przedmiot data, ocena (przy założeniu że dany student może mieć jedną ocenę z zaliczenia) dr Paweł Drozda
47
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ów zachowania informacji zachowania zależności dr Paweł Drozda
48
Postać normalna Boyce’a - Codda
Definicja – 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
49
BCNF – przykład (1) Relacja: adresmiasta(kod,miasto,ulicanr)
Zależności funkcyjne kod miasto, miasto,ulica kod Klucz (miasto, ulica) Relacja nie jest w BCNF ponieważ pierwsza zależność jest niezgodna z definicją dr Paweł Drozda
50
BCNF – przykład (2) Przedmioty w BCNF przedmiot pesel
Analiza Algebra Bazy Danych Wykładowcy w BCNF pesel Nazwisko Kowal Nowak dr Paweł Drozda
51
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
52
BCNF – dekompozycja - przykład
Zaliczenie nrindeksu przedmiot Nazwisko ocena Nrindeksu, przedmiot ocena nrindeksu nazwisko Student w BCNF nrindeksu Nazwisko Zaliczenie BCNF nrindeksu przedmiot ocena dr Paweł Drozda
53
Zależności wielowartościowe (1)
Oznaczenie: A B – dla każdego zbioru argumentów A istnieje wiele różnych argumentów z B np. dla relacji osoba: Pesel kat.prawajazdy Jeśli w relacji są co najmniej dwie zależności wielowartościowe - redundancja dr Paweł Drozda
54
Zależności wielowartościowe (2)
Loty Lot Dzień Typsamolotu 100 Poniedziałek 111 Wtorek 222 na jednej trasie – dwa typy samolotów Modyfikacja – dodatkowy dzień (czwartek) dodatkowy typ samolotów (333) dr Paweł Drozda
55
Zależności wielowartościowe (3)
Doszło 5 krotek. Rozwiązanie: Dekompozycja Loty Lot Dzień Typsamolotu 100 Poniedziałek 111 Wtorek Czwartek 222 333 Loty 1 Lot Dzień 100 Poniedziałek Wtorek Czwartek Loty 2 Lot Typsamolotu 100 111 222 333 dr Paweł Drozda
56
Zależności wielowartościowe (4)
Konsekwencja 1NF – nie dopuszcza aby krotki zawierały atrybuty wielowartościowe Zależność trywialna XY jest trywialna, gdy: Y jest podzbiorem X lub X suma Y =R dr Paweł Drozda
57
Czwarta postać normalna
Definicja: 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
58
Dekompozycja na relacje w 4NF
Relacja R dekomponuje się na relacje R1 i R2 bez utraty informacji, gdy: R1 iloczyn R2 (R1-R2) lub R1 iloczyn R2 (R2-R1) dr Paweł Drozda
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.