Diagramy związków encji ERD Ćwiczenia w modelowaniu danych
Transkrypt
Diagramy związków encji ERD Ćwiczenia w modelowaniu danych
Diagramy związków encji ERD Ćwiczenia w modelowaniu danych dr Lidia Stępień wykład 5 ERD ● ang. Entity-Relationship Diagram ● Diagram związków encji ● ● ● Proces konstruowania projektu systemu bazy danych. Abstrakcyjna analiza danych – „z góry na dół”. Modelowanie semantyczne – celem jest reprezentowanie danych w taki sposób, w jaki są widziane w rozważanym obszarze analizy. Diagramy związków encji ● Encja – rzecz, która istnieje niezależnie i jest jednoznacznie identyfikowana. Typ encji – kategoria: Instancja encji: ● dom, samochód, człowiek. budynek AJD przy AK 13/15, mój samochód, Jan Kowalski. Atrybut – własność, np. imię, nazwisko, pesel są atrybutami osoby. Diagramy związków encji - Notacja ● Encja ● Atrybut Diagramy związków encji Związki – pewne powiązanie między encjami, np. Dom jest zamieszkiwany przez osobę. Dom jest własnością osoby. Liczebność ● 1-1 ● 1-M ● M-N Uczestnictwo ● Opcjonalność ● Uczestnictwo wymagane Diagram Venna Wykluczanie r1 – wykłada, jest wykładany przez r2 – przygotowuje, jest przygotowywany przez Zawieranie r1 – wykłada, jest wykładany przez r2 – przeprowadza egzamin z, jest egzaminowany Rozszerzenia modelowania danych ● Związki rekurencyjne. Rozszerzenia modelowania danych ● Związki trójargumentowe. Rozszerzenia modelowania danych Role Upraszczanie związków M-N A B PUŁAPKI POŁĄCZEŃ Wiatrak PUŁAPKI POŁĄCZEŃ Pułapka próżni Modelowanie czasu Przekształcanie w schemat relacyjny ● Encja to tabela. ● Identyfikujący atrybut to klucz główny tabeli. ● Inne atrybuty to niegłówne atrybuty tabeli. ● ● Związek jeden do wiele - klucz główny tabeli ze strony jeden wstawiamy do tabeli ze strony wiele. Opcjonalność – czy klucz obcy może być NULL. UWAGI ● ● ● ● Trudność przyporządkowania danych do jednej z trzech kategorii: encji, związku, atrybutu, np. ślub. Wraz ze wzrostem liczby szczegółów maleje sprawność tej metody. Wraz z rysowaniem coraz większej liczby encji, związków i atrybutów, diagramy stają się mniej czytelne i trudniejsze do operowania. Z tego powodu analitycy danych (projektanci) wykorzystują często tzw. słownik danych Reprezentowanie encji ● W słowniku danych encję reprezentują: opis jej znaczenia, atrybuty identyfikujące i pozostałe atrybuty, np. ENCJA: student OPIS: Każda osoba zapisana na kierunek na AJD IDENTYFIKUJĄCY ATRYBUT: NrStudenta INNE ATRYBUTY: Imię, Nazwisko, ulica, kod, miasto, telefon Reprezentowanie związków ● ● ● Związki są oznaczane jednoznacznymi identyfikatorami. Dla każdej encji w związku określamy: nazwę, opcjonalność i liczebność. Dodajemy również krótki opis, aby jednoznacznie rozumieć znaczenie związku Przykład opisu związku w słowniku danych ID ZWIĄZKU: r1 NAZWY ZWIĄZKU: jest zapisany na, ma na liście OPIS: powiązanie studenta z kierunkiem, na który jest zapisany ENCJA 1: student LICZEBNOŚĆ: wiele OPCJONALNOŚĆ: wymagany ENCJA 2: kierunek LICZEBNOŚĆ: wiele OPCJONALNOŚĆ: opcjonalny Reprezentowanie atrybutów ● ● Przy bardziej szczegółowej specyfikacji wymagany jest opis atrybutów. W słowniku danych opis atrybutu tworzą jego nazwa, opis oraz typ. NAZWA ATRYBUTU: etat OPIS: możliwe stanowisko wykładowcy TYP: znakowy { asystent, adiunkt, profesor, wykładowca, starszy wykładowca, lektor} UWAGI ● ● Gdy schemat dla tego samego obszaru analizy tworzy więcej niż jedna osoba, możemy uzyskać więcej niż jeden schemat. Wynika to z różnych sposobów analizy obszaru: ● ● ● ● ● Można użyć różnych nazw dla tej samej encji w różnych schematach – synonimy, np. raz encja wykładowca, a gdzie indziej pracownik. Można użyć tej samej nazwy w różnych schematach do opisu różnych encji – homonimy, np. student studiów pierwszego stopnia lub student studiów doktoranckich. Można w różny sposób reprezentować daną sytuację ze świata rzeczywistego, np. adres – raz jako atrybut, raz jako osobna encja. Można popełnić błąd, np. określając w różny sposób liczebność związku. PRZYKŁAD Diagram związków encji Każdy sędzia ma listę spraw, które będzie prowadził. Jednej sprawie, przewodniczy tylko jeden sędzia. Do każdej sprawy jest przydzielony jeden prokurator, który reprezentuje prokuraturę. Każda sprawa będzie się odbywać w jednym z sądów z ustaloną datą rozpoczęcia i przybliżonym czasem trwania. Sprawa może dotyczyć więcej niż jednego przestępstwa. Każde przestępstwo może mieć jednego lub więcej oskarżonych. Każdy oskarżony może mieć jednego lub więcej adwokatów. Jeśli przestępstwo dotyczy kilku oskarżonych, to każdy oskarżony może mieć jednego lub więcej obrońców. Oskarżeni mogą mieć wytoczoną więcej niż jedną sprawę. Każdy sędzia ma listę spraw, które będzie prowadził. Jednej sprawie, przewodniczy tylko jeden sędzia. Do każdej sprawy jest przydzielony jeden prokurator, który reprezentuje prokuraturę. Każda sprawa będzie się odbywać w jednym z sądów z ustaloną datą rozpoczęcia i przybliżonym czasem trwania. Każda sprawa będzie się odbywać w jednym z sądów z ustaloną datą rozpoczęcia i przybliżonym czasem trwania. Sprawa może dotyczyć więcej niż jednego przestępstwa. Sprawa może dotyczyć więcej niż jednego przestępstwa. Każde przestępstwo może mieć jednego lub więcej oskarżonych. Każde przestępstwo może mieć jednego lub więcej oskarżonych. Każdy oskarżony może mieć jednego lub więcej adwokatów. Jeśli przestępstwo dotyczy kilku oskarżonych, to każdy oskarżony może mieć jednego lub więcej obrońców. Oskarżeni mogą mieć wytoczoną więcej niż jedną sprawę. Oskarżeni mogą mieć wytoczoną więcej niż jedną sprawę. Diagram ostateczny