590 likes | 918 Views
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.
E N D
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 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 dr Paweł Drozda
Etapy tworzenia bazy danych Zapis za pomocą modelu związków encji Model relacyjny Model w głowie 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 Chena nrindeksu nazwisko nazwisko pesel zarobki Student Pracownik data Prowadzenie Egzamin Przedmiot ocena nazwa id dr Paweł Drozda
Przykład – notacja Barkera PRZEDMIOT STUDENT PRACOWNIK zdaje Id Nazwa NrIndeksu Nazwisko Pesel Nazwisko Zarobki prowadzi 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 Chen rasa nazwisko imię pesel płeć Pies Osoba Przykład wystąpienia Osoba: 76040603149, Kucka, K Osoba: 79072203350, Drozda, M Pies: Kundel, Bury Pies: Jamnik, Długi dr Paweł Drozda
Przykład Barker PIES OSOBA Rasa Imię Pesel Nazwisko Płeć Pies Rasa = Kundel Imię = Bury Osoba Pesel = 77021211111 Nazwisko = Kowalski Płeć = Kobieta 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ład tytuł nazwisko rok pesel zarobki Film Osoba adres gatunek telefon długość płeć dr Paweł Drozda
Przykład Barker Film OSOBA # Tytuł # Rok (#) Gatunek * Długość # Pesel * Nazwisko * Płeć * Zarobki Adres Telefon dr Paweł Drozda
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
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
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
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
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
Związki wieloargumentowe (1) • Możliwość definicji związku wieloargumentowego • Co najmniej 3 encje są związane Mandat Kierowca Policjant Wykroczenie dr Paweł Drozda
Związki wieloargumentowe (2) Sala Pielęgniarka Operacja Lekarz Pacjent dr Paweł Drozda
Związki wieloargumentowe – notacja Berkera • Gdy związek wieloargumentowy – zamienia się w encję KIEROWCA Mandat POLICJANT WYKROCZENIE dr Paweł Drozda
Rozszerzenie – poprzedni przykład 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 Sędzia Mecz Stadion Gospodarze Goście Drużyna 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 Sędzia liczba widzów Mecz typ meczu Stadion data Drużyna dr Paweł Drozda
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
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 telefon płeć dr Paweł Drozda
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 KLASA NAUCZYCIEL Wychowuje Id Nazwa Pesel Nazwisko Zarobki dr Paweł Drozda
Związek binarny 1:1 • Dodany klucz obcy po stronie mniejszej tabeli KOMPUTER PRACOWNIK Id IP Pesel Nazwisko Zarobki 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 Egzamin Student Przedmiot dr Paweł Drozda
Po co normalizować? (1) dr Paweł Drozda
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
Po co normalizować? (3) 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,…,AnB • Gdy: A1,…,AnB1 … A1,…,AnBm, to zapisujemy A1,…,AnB1,…,Bm dr Paweł Drozda
Zależności funkcyjne – przykład (1) dr Paweł Drozda
Zależności funkcyjne – przykład (2) • Zależności funkcyjne • nrindeksu nazwisko • nrindeksu adres ponieważ: 127000 Maliniak, Świerkowa 6 123123 Kowal, Akacjowa 1 666555 Nowak, Różana 4/78 dr Paweł Drozda
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
Klucze – przykład (1) dr Paweł Drozda
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
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
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
BCNF – przykład (1) • Relacja: adresmiasta(kod,miasto,ulicanr) • Zależności funkcyjne kod miasto, miasto,ulicakod Klucz (miasto, ulica) • Relacja nie jest w BCNF ponieważ pierwsza zależność jest niezgodna z definicją dr Paweł Drozda
BCNF – przykład (2) dr Paweł Drozda