1 / 58

Modelowanie model związków encji

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.

Download Presentation

Modelowanie model związków encji

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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: 76040603149, Kucka, K Osoba: 79072203350, Drozda, M Pies: Kundel, Bury Pies: Jamnik, Długi dr Paweł Drozda

  10. 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

  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ł # Rok (#) 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 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 dr Paweł Drozda

  33. Związek binarny 1:1 • Dodany klucz obcy po stronie mniejszej tabeli KOMPUTER PRACOWNIK Id IP Pesel Nazwisko Zarobki Uzywa 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 dr Paweł Drozda

  36. Normalizacja baz danych

  37. Po co normalizować? (1) 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: 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) dr Paweł Drozda

  43. 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

  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) 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) dr Paweł Drozda

More Related