Modelowanie konceptualne. Modelowanie konceptualne przykład. Modelowanie konceptualne model ER. Model ER Entity-Relationship

Podobne dokumenty
KSS: Modelowanie konceptualne przykład

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

Przykładowa baza danych BIBLIOTEKA

Temat: Modelowanie schematu bazy danych za pomocą diagramów związków encji (Entity Relationship Diagrams ERD)

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Projektowanie bazy danych

Bazy danych i usługi sieciowe

Modelowanie danych, projektowanie systemu informatycznego

Bazy danych TERMINOLOGIA

Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Bazy danych. Wykład 4: Model SERM. dr inż. Magdalena Krakowiak

Systemy informatyczne. Modelowanie danych systemów informatycznych

Technologie baz danych

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Autor: Joanna Karwowska

Modelowanie konceptualne model EER

Bazy danych - wykład wstępny

Wprowadzenie do baz danych

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Autor: Joanna Karwowska

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

Technologia informacyjna

1 Projektowanie systemu informatycznego

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

WPROWADZENIE DO BAZ DANYCH

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE

Świat rzeczywisty i jego model

Przykłady normalizacji

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Zajęcia 1. W następnej tabeli zebrane są dane używane w bibliotece, które są przetwarzane przez bibliotekarza w różnych fazach obsługi czytelnika.

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Utwórz klucz podstawowy relacji na podstawie unikalnego identyfikatora encji. podstawie kluczy podstawowych wiązanych relacji.

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40

Biblioteka. Bazy danych I dokumentacja projektu. Cel projektu:

Podstawy programowania III WYKŁAD 4

Rysunek 1: Przykłady graficznej prezentacji klas.

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Projektowanie Systemów Informacyjnych

Bazy Danych. Modele danych. Krzysztof Regulski WIMiIP, KISiM,

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Język UML w modelowaniu systemów informatycznych

Podstawy inżynierii oprogramowania

Posługiwanie się tabelami

Transformacja modelu ER do modelu relacyjnego

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Cel normalizacji. Tadeusz Pankowski

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy.

IX Konferencja Informatyki Stosowanej

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

PRZYKŁAD. Prosta uczelnia. Autor: Jan Kowalski nr indeksu: (przykładowy projekt)

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Normalizacja. Pojęcie klucza. Cel normalizacji

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Projektowanie baz danych

Relacyjny model baz danych, model związków encji, normalizacje

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

Modelowanie obiektowe

Transformacja modelu EER do postaci relacyjnego modelu danych. Zbyszko Królikowski

Modelowanie przypadków użycia. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Tworzenie modelu logicznego i fizycznego danych.

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

UML w Visual Studio. Michał Ciećwierz

Paweł Rajba

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

Bazy danych. Andrzej Łachwa, UJ, /15

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Baza danych. Baza danych to:

Systemy baz danych. 1. Plan: 2. Zadania: Projekt Bazy Danych - wybór tematów, wstępna kategoryzacja 8. Projekt Bazy Danych - diagram ER

Uniwersytet im. Adama Mickiewicza w Poznaniu Wydział Matematyki i Informatyki. Projekt bazy danych <Moja baza>

Diagramy związków encji ERD Ćwiczenia w modelowaniu danych

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Co to są relacyjne bazy danych?

Projekt Bazy Danych. Artur Janas, Łukasz Gawroński 9 czerwca Streszczenie Tematem projektu jest System Obsługi Biblioteki

Modelowanie związków encji

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Transformacja modelu ER do modelu relacyjnego

Projektowanie BAZY DANYCH

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

Relacyjne bazy danych. Normalizacja i problem nadmierności danych.

Diagramy klas. WYKŁAD Piotr Ciskowski

Projektowanie relacyjnych baz danych model związków encji (Entity-Relationship, ER)

Bazy Danych i Systemy informacyjne Wykład 7. Piotr Syga

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Bazy danych. Andrzej Łachwa, UJ, /14

Transkrypt:

Modelowanie konceptualne model ER Modelowanie konceptualne przykład Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski Model ER służy do nieformalnego przedstawienia modelu systemu rzeczywistego i projektu bazy danych. Projekt ma postać graficzną zwaną diagramem ER (entity-relationship diagram) diagramem jednostkazwiązek (lub diagramem związków encji). Istnieje procedura (pół)automatycznej transformacji diagramu ER do konkretnej implementacji, na przykład do relacyjnej bazy danych. (c) T. Pankowski (c) T. Pankowski Model ER Entity-Relationship Opisuje system rzeczywisty za pomocą pojęć: jednostek (ang. entities) (po polsku także: obiekt, encja), atrybutów (ang. attributes), związków (ang. relationships). Modelowanie konceptualne Kroki postępowania: Określenie jednostek i związków między jednostkami, które są dla nas interesujące. Określenie atrybutów (jednostek i związków). Określenie identyfikatorów (klucze) dla jednostek jest to jeden z atrybutów. Określenie właściwości związków charakterystyka uczestnictwa jednostek w związkach. (c) T. Pankowski (c) T. Pankowski 4

Biblioteka Jakie jednostki są dla nas ważne w bibliotece? Rozpatrujemy ją z punktu widzenia obsługi wypożyczania książek. Inny punkt widzenia: rozliczanie pracowników, e i y (książek). Każdy egzemplarz książki ma jednoznaczny identyfikator IdEgz (np. jest to liczba całkowita), a jego atrybutem jest Sygnatura (może być także: miejsce w magazynie, np. NrSali, NrRegału, Półka, ). to jednostka opisująca tytuły książek i zawierająca takie atrybuty jak: Idu, Autor (co zrobić, gdy jest kilku autorów?),,,. Np: (, Ryszard Kapuściński, Heban,, 005 ) Biblioteka Związki i ich charakterystyka Między jednostkami typu i istnieje związek typu N: (wiele-do-jeden) określający, że wiele egzemplarzy książek dotyczy jednego tytułu. Dla każdego egzemplarza książki musi istnieć jednostka opisująca jej tytuł Mogą istnieć tytuły książek, dla których nie istnieją żadne egzemplarze. Reprezentacja graficzna (ERD diagram ER): (c) T. Pankowski 5 Dla każdej jednostki typu może istnieć dowolna liczba jednostek typu (od 0 do nieskończoności) Dla każdej jednostki typu musi istnieć dokładnie jedna jednostka typu Przedstawienie modelu konceptualnego za pomocą diagramu klas UML Diagram klas w języku UML (Unified Modeling Language): IdEgz : int Sygnatura:char(0) /IdTyt : PK: Idu:int Autor:varchar(00) :varchar(00) :char(0) :int Dwie klasy obiektów (jednostek): klasa odpowiadająca zbiorowi jednostek typu, klasa odpowiadająca zbiorowi jednostek typu. Diagram klas składa się z klas i asocjacji. Klasa posiada nazwę (np. ) i zbiór pól. Jedna asocjacja (implementuje związek typu do-jeden ): każdy obiekt typu (klasy) jest powiązany z dokładnie jednym obiektem typu tytuł, oznaczone jest to referencją /IdTyt (klucz obcy); każdy obiekt typu może być powiązany z dowolną liczbą egzemplarzy, w tym z żadnym. 7 Przedstawienie relacyjne (tabelaryczne) (Idu,Autor,,,) (IdEgz,Sygnatura, IdTyt) Klucz główny w tabeli, identyfikator jednostki Klucz główny w tabeli, identyfikator jednostki Klucz obcy w tabeli, wskazuje na klucz główny w tabeli Klucz główny jednoznacznie identyfikuje jednostki w ramach zbioru jednostek tego samego typu. Klucz obcy implementuje powiązanie między zbiorami jednostek typu do-jeden. Jego wartość musi być równa jednej z wartości klucza głównego w tabeli, do której się odwołuje. 8

Relacyjna baza danych Biblioteka Biblioteka (c.d.) Idu Autor Ryszard Kapuściński Umberto Eco Heban Imię róży PIW 005 987 Dalsze jednostki i związki w bibliotece. zbiór jednostek. wypożycza książki: jeden czytelnik wypożyczył dowolnie wiele egzemplarzy książek, ale co najmniej jeden egzemplarz, jeden egzemplarz mógł być wypożyczony dowolną liczbę razy (w tym zero). IdEgz Sygnatura 67/A 674/A 764/M 4 8/S IdTyt Zapytania (polecenia):. Podaj wszystkie tytuły wydane przez a w latach od 000 do 005.. Ile jest egzemplarzy książek Ryszarda Kapuścińskiego?. Jakie jest najstarsze wydanie wydawnictwa PIW? 4. Podaj identyfikatory i sygnatury egzemplarzy o tytule Heban. (c) T. Pankowski 9..* Uzyskaliśmy diagram, w którym występuje powiązanie wiele-dowielu staramy się takie powiązania eliminować poprzez wprowadzenie dodatkowych typów jednostek odpowiadających np. pewnym zdarzeniom. W diagramie powinno wystąpić co najwyżej jedno powiązanie typu do-wielu, a więc co najwyżej jedna etykieta typu lub..*, a pozostałe powinny być 0.. lub. (c) T. Pankowski 0 Biblioteka (c.d.) Wprowadzamy jednostkę typu. Analiza diagramu: Rozpatrujemy zależności, w których po prawej stronie jest jeden typ jednostek, a po lewej wszystkie pozostałe. Określamy czy układ jednostek po lewej stronie jednoznacznie identyfikuje jednostkę po prawej stronie ( 0.. lub ), czy nie ( lub..*). W naszym przypadku:, :, bo każdy czytelnik mógł wypożyczyć konkretny egzemplarz zero lub dowolnie wiele razy;, :, bo dotyczy dokładnie jednego egzemplarza, jeśli czytelnik wypożyczył (za jednym razem) n książek, to traktujemy to jako n wypożyczeń;, : (c) T. Pankowski uwaga jak powyżej. IdWypoż:int /IdCzyt: /IdEgz: DataWyp:Datatime LiczbaDni:Int DataZwr:Datetime Diagram klas IdCzyt:int PESEL:char() Nazwisko:char(5) Imie:char(0) Adres:varchar(50) IdEgz:int Sygnatura:char(0) /IdTyt: jest obiektem (zdarzeniem) opisującym fakt wypożyczenia egzemplarza książki przez czytelnika. Zarówno czytelnik, jak i egzemplarz mogą uczestniczyć w dowolnej liczbie wypożyczeń (w tym w żadnym).

IdEgz 4 Sygnatura 67/A 674/A 764/M 8/S IdWypoż IdCzyt 0 0 0 IdTyt IdEgz Idu IdCzyt 0 0 DataWyp 07.04.007 0.06.007 5.05.007 Autor Ryszard Kapuściński Umberto Eco PESEL 800045678 70045698 LiczbaDni 4 0 4 Heban Imię róży Lipski Nazwisko Pawlak DataZwr 0.04.007 PIW Adres Poznań Gniezno. Podaj informacje o czytelnikach, którzy nie zwrócili książek w terminie.. Podaj, które tytuły cieszą się największą popularnością.. Ile średnio dni mija od wypożyczenia do zwrotu książki? 4. Sporządź listę rankingową aktywności czytelników ze względu na liczbę wypożyczonych książek. 005 987 Diagram jednostka-związek (ER): Biblioteka Para (, ) może być związana z wieloma wypożyczeniami Związek trójczłonowy Każda jednostka typu związana jest dokładnie z jedną jednostką typu Każdy egzemplarz książki ma jednoznacznie określony tytuł Związek binarny wyznaczony jest jednoznacznie przez parę (, ), tzn. jedno wypożyczenie dotyczy dokładnie jednego egzemplarza. (podobnie dla czytelnika) Każdy tytuł ma zero lub dowolnie wiele egzemplarzy książek (c) T. Pankowski 4 Diagram jednostka-związek (ER): Biblioteka c.d. Diagram jednostka-związek (ER): Biblioteka c.d. Stan rezerwacji: O oczekiwanie na realizację, R rezerwacja zrealizowana, U rezerwacja unieważniona. IdRez:int /IdCzyt: DataRezer:Datatime LiczbaDni:Int DataRealiz:Datetime Stan:char() Reguła działania (biznesowa): Realizacja rezerwacji powoduje przeniesienie odpowiednich danych do Wypożyczenia. IdCzyt:int PESEL:char() Nazwisko:char(5) Imie:char(0) Adres:varchar(50) tytuł:varchar(00) autor:varchar(00) wydawnictwo:char(0) (c) T. Pankowski 5 IdDostawy:int /IdDcy: DataDost:Datatime LiczbaEgz:Int CenaJed:Money Wartość:Money..*..* IdDcy:int NIP:char() nazwa:char(50) adres:varchar(50) tytuł:varchar(00) autor:varchar(00) wydawnictwo:char(0) Reguła działania (biznesowa): powoduje automatyczne wprowadzenie dostarczonych książek do zbioru wystąpień klasy. (c) T. Pankowski 6

Diagram jednostka-związek (ER): Biblioteka c.d. Diagram jednostka-związek (ER): Biblioteka (całość) IdZam:int /IdDcy: DataZam:Datatime LiczbaEgz:Int wydawnictwo:char(0) Reguła działania (biznesowa): Zamówienia mogą być generowane automatycznie. Analizowane są dane o rezerwacjach książek. Jeśli jakiś tytuł jest szczególnie atrakcyjny i jego rezerwacja kończy się niepowodzeniem, to generujemy zamówienie do tego dostawcy, który ostatnio dostarczał ten tytuł. Będziemy zamawiać tę liczbę egzemplarzy, którą ostatnio dostarczył...*..* IdDcy:int NIP:char() nazwa:char(50) adres:varchar(50) tytuł:varchar(00) autor:varchar(00) (c) T. Pankowski 7 klasy jednostek (encji), każda ma identyfikator klasy związków (binarnych, -członowych,, n-członowych) typu (,..,) (c) T. Pankowski 8 Diagram jednostka-zwi związek zek (diagram ER) - podsumowanie IdEgz Sygnatura IdTyt Autor Diagram jednostka-związek składa się z etykietowanych symboli graficznych przedstawiających: typy jednostek prostokąty z nazwą typu jednostek; atrybuty owale z nazwą atrybutu; krawędź łączy atrybut z odpowiednim typem jednostek lub związków; atrybut charakteryzuje jednostki lub związki danego typu; atrybut podkreślony jest kluczem (identyfikatorem) jednostek danego typu; każdy typ jednostek ma dokładnie jeden identyfikator; Uwaga: dla uzyskania przejrzystości diagramu atrybuty są często pomijane jawnie specyfikuje się je dopiero na diagramie klas typy związków romby z opcjonalną nazwą typu związków; krawędzie łączą związek z typami jednostek uczestniczących w związkach danego typu. Krawędź łącząca typ związku z typem jednostki opisuje rolę i rodzaj uczestnictwa jednostek w danych związkach: można podać rolę, jaką pełni jednostka w związku (domyślnie wynika to z jej nazwy); konieczne jest podanie jak jednostki danego typu powiązane z jednostkami pozostałych typów uczestniczących w związku:, (0..) dla każdej n-tki pozostałych uczestników istniej dokładnie (co najwyżej) jedna jednostka występująca z tą n-tką w związku; (..*), () dla każdej n-tki pozostałych uczestników istnieje jedna (zero) lub więcej jednostek występujących z tą n-tką w związku; Diagram klas UML (Unified podsumowanie IdEgz : int Sygnatura:char(0) /IdTyt : Unified Modeling Language) - Diagram klas bardziej szczegółowo opisuje diagram konceptualny ER. Składa się z klas i asocjacji (binarnych powiązań między klasami). Każda klasa posiada nazwę oraz zbiór pól. Każde pole składa się z nazwy i typu wartości. Pole może opisywać: klucz główny (PK, ang. Primary Key), nazwa pola jest wówczas atrybutem kluczowym (identyfikatorem), atrybut nazwa pola jest nazwą atrybutu, referencję (klucz obcy, FK ang. Foreign Key) typ wartości jest wówczas nazwą klasy, wartością referencji jest wartość klucza głównego pewnej jednostki z podanej klasy. Każda asocjacja reprezentuje związek binarny typu do-jeden. Asocjacja w sposób graficzny pokazuje powiązania między klasami. Asocjacja jest realizowana za pomocą referencji (kluczy obcych). 0 PK: Idu:int Autor:varchar(00) :varchar(00) :char(0) :int