KSS: Modelowanie konceptualne przykład

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

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

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

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

Przykładowa baza danych BIBLIOTEKA

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

Bazy danych i usługi sieciowe

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

Modelowanie danych, projektowanie systemu informatycznego

Technologie baz danych

Projektowanie bazy danych

Autor: Joanna Karwowska

Modelowanie konceptualne model EER

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

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

Bazy danych TERMINOLOGIA

1 Projektowanie systemu informatycznego

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

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

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

Systemy informatyczne. Modelowanie danych systemów informatycznych

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

Przykłady normalizacji

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

Autor: Joanna Karwowska

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

Wprowadzenie do baz danych

Bazy danych - wykład wstępny

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

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.

WPROWADZENIE DO BAZ DANYCH

Technologia informacyjna

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

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

Projektowanie Systemów Informacyjnych

Świat rzeczywisty i jego model

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

Biblioteka. Bazy danych I dokumentacja projektu. Cel projektu:

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

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

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

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

WYKŁAD 1. Wprowadzenie do problematyki baz danych

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

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

Transformacja modelu ER do modelu relacyjnego

Język UML w modelowaniu systemów informatycznych

Podstawy inżynierii oprogramowania

Posługiwanie się tabelami

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Podstawy programowania III WYKŁAD 4

Rysunek 1: Przykłady graficznej prezentacji klas.

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Bazy danych. Andrzej Łachwa, UJ, /15

Cel normalizacji. Tadeusz Pankowski

Projektowanie baz danych

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

Modelowanie związków encji

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

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

Modelowanie obiektowe

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

Normalizacja. Pojęcie klucza. Cel normalizacji

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

IX Konferencja Informatyki Stosowanej

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

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

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

Bazy danych. Andrzej Łachwa, UJ, /14

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

UML w Visual Studio. Michał Ciećwierz

Transformacja modelu ER do modelu relacyjnego

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

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

Projektowanie BAZY DANYCH

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

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

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

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Paweł Rajba

Modelowanie związków encji. Oracle Designer: Diagramy związków encji. Encja (1)

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Diagramy klas. WYKŁAD Piotr Ciskowski

Wstęp do relacyjnych baz danych. Jan Bartoszek

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach

Baza danych. Baza danych to:

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

Bazy danych 1. Wykład 4 Metodologia projektowania baz danych

Bazy danych 2. dr inż. Tadeusz Jeleniewski

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

Narysować diagram sekwencji pokazujący rejestrację wypożyczenia przez Jana Kowalskiego książki Potop

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

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

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

Agnieszka Ptaszek Michał Chojecki

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

Transkrypt:

Modelowanie konceptualne model ER KSS: 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 2 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 3 (c) T. Pankowski 4

Modelowanie konceptualne przykład 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?),, Wydawnictwo, Rok. Np: (2, Ryszard Kapuściński, Heban,, 2005 ) Modelowanie konceptualne przykład 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): 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 Klucz główny (Primary Key), FK Klucz obcy (Foreign Key) 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 PK: Idu:int Autor:varchar(00) :varchar(00) Wydawnictwo:char(30) Rok:int Przedstawienie relacyjne (tabelaryczne) (Idu,Autor,,Wydawnictwo,Rok) (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 Modelowanie konceptualne przykład Biblioteka (c.d.) Idu 2 22 Autor Ryszard Kapuściński Umberto Eco Heban Imię róży Wydawnictwo PIW Rok 2005 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 673/A 2 674/A 3 764/M 4 823/S IdTyt 2 2 22 22 Zapytania (polecenia):. Podaj wszystkie tytuły wydane przez a w latach od 2000 do 2005. 2. Ile jest egzemplarzy książek Ryszarda Kapuścińskiego? 3. Jakie jest najstarsze wydanie wydawnictwa PIW? 4. Podaj identyfikatory i sygnatury egzemplarzy o tytule Heban. (c) T. Pankowski 9 Diagram ER:..* 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 Modelowanie konceptualne przykład Biblioteka (c.d.) Wprowadzamy jednostkę typu. Diagram ER: 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: :, :, każdy czytelnik ma zero lub wiele wypożyczeń; każde wypożyczenie dotyczy dokładnie jednego czytelnika; :, :, każdy egzemplarz ma zero lub wiele wypożyczeń; każde wypożyczenie dotyczy dokładnie jednego egzemplarza. (c) T. Pankowski IdWypoż:int /IdCzyt: /IdEgz: DataWyp:Datatime LiczbaDni:Int DataZwr:Datetime Diagram klas IdCzyt:int PESEL:char() Nazwisko:char(25) Imie:char(20) 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). 2

IdEgz 2 3 4 Sygnatura 673/A 674/A 764/M 823/S IdWypoż 2 3 IdCzyt 02 02 0 IdTyt 2 2 22 22 IdEgz 3 2 Idu 2 22 IdCzyt 0 02 DataWyp 07.04.2007 0.06.2007 5.05.2007 Autor Ryszard Kapuściński Umberto Eco PESEL 80020345678 72030456982 LiczbaDni 4 0 4 Heban Imię róży Lipski Nazwisko Pawlak DataZwr 20.04.2007 Wydawnictwo PIW Adres Poznań Gniezno. Podaj informacje o czytelnikach, którzy nie zwrócili książek w terminie. 2. Podaj, które tytuły cieszą się największą popularnością. 3. 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. Rok 2005 987 Diagram jednostka-związek (ER): Biblioteka Związek binarny Każda jednostka typu związana jest dokładnie z jedną jednostką typu Każdy egzemplarz książki ma jednoznacznie określony tytuł (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. Rezerwacja Rezerwacja IdRez:int /IdCzyt: /IdTyt:Tytul 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(25) Imie:char(20) Adres:varchar(50) IdTyt:int tytuł:varchar(00) autor:varchar(00) wydawnictwo:char(30) rok:int (c) T. Pankowski 5..* Dostawa..* Dostawa IdDostawy:int /IdDcy: /IdTyt:Tytul DataDost:Datatime LiczbaEgz:Int CenaJed:Money Wartość:Money..*..* Reguła działania (biznesowa): Dostawa powoduje automatyczne wprowadzenie dostarczonych książek do zbioru wystąpień klasy. IdDcy:int NIP:char(3) nazwa:char(50) adres:varchar(50) IdTyt:int tytuł:varchar(00) autor:varchar(00) wydawnictwo:char(30) rok:int (c) T. Pankowski 6

Diagram jednostka-związek (ER): Biblioteka c.d. Diagram jednostka-związek (ER): Biblioteka Zamówienie Zamówienie IdZam:int /IdDcy: /IdTyt:Tytul DataZam:Datatime LiczbaEgz:Int wydawnictwo:char(30) rok:int 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(3) nazwa:char(50) adres:varchar(50) IdTyt:int tytuł:varchar(00) autor:varchar(00) (c) T. Pankowski 7 (c) T. Pankowski 8 Diagram jednostka-związek (ER): Biblioteka (całość) Rezerwacja klasy jednostek (encji), każda ma identyfikator Dostawa..* Zamówienie..* klasy związków (binarnych) (c) T. Pankowski 9 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; Rok Wydawnictwo

Diagram klas UML (Unified podsumowanie Unified Modeling Language) - IdEgz : int Sygnatura:char(0) /IdTyt : PK: Idu:int Autor:varchar(00) :varchar(00) Wydawnictwo:char(30) Rok:int 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). 2