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

Podobne dokumenty
Systemy informatyczne. Modelowanie danych systemów informatycznych

Modelowanie danych, projektowanie systemu informatycznego

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

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

Autor: Joanna Karwowska

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

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

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

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

Bazy danych i usługi sieciowe

Świat rzeczywisty i jego model

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

1 Projektowanie systemu informatycznego

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

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

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

ZSE - Systemy baz danych 1 ZASADY PROJEKTOWANIA BAZ DANYCH

Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej

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

Wykład 2. Relacyjny model danych

Wykład I. Wprowadzenie do baz danych

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

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

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

Projektowanie Systemów Informacyjnych

Bazy danych 2. dr inż. Tadeusz Jeleniewski

Paweł Kurzawa, Delfina Kongo

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Technologie baz danych

Technologia informacyjna

Projektowanie bazy danych

Język UML w modelowaniu systemów informatycznych

Zaawansowane Modelowanie I Analiza Systemów Informatycznych

Projektowanie bazy danych przykład

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH

Modelowanie i Programowanie Obiektowe

Transformacja modelu ER do modelu relacyjnego

Modelowanie danych Model związków-encji

Bazy danych TERMINOLOGIA

Podrozdziały te powinny zawierać informacje istotne z punktu widzenia przyjętego celu pracy

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Projektowanie logiki aplikacji

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem

Przykłady normalizacji

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

Rysunek 1: Przykłady graficznej prezentacji klas.

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Projektowanie BAZY DANYCH

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

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

Modelowanie obiektowe - Ćw. 3.

Modelowanie danych Model związków-encji

Systemy baz danych. mgr inż. Sylwia Glińska

FUNKCJE SZBD. ZSE - Systemy baz danych 1

Baza danych przestrzennych modelowa reprezentacja fragmentu świata rzeczywistego

Projektowanie baz danych

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Technologie obiektowe

Modelowanie związków encji

KSS: Modelowanie konceptualne przykład

Podstawy programowania III WYKŁAD 4

Zaawansowane Modelowanie I Analiza Systemów Informatycznych

Strukturalne metodyki projektowania systemûw informatycznych

Baza danych. Modele danych

WPROWADZENIE DO BAZ DANYCH

MODELOWANIE PRZEPŁYWU DANYCH

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

problem w określonym kontekście siły istotę jego rozwiązania

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Pojęcie bazy danych. Funkcje i możliwości.

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

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

Projektowanie baz danych za pomocą narzędzi CASE

Diagramy klas. WYKŁAD Piotr Ciskowski

Tworzenie warstwy zasobów projektowanie metodą strukturalną

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

UML w Visual Studio. Michał Ciećwierz

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Modelowanie klas i obiektów. Jarosław Kuchta Projektowanie Aplikacji Internetowych

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

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

Bazy Danych. Bazy Danych i SQL Podstawowe informacje o bazach danych. Krzysztof Regulski WIMiIP, KISiM,

Diagramy przepływu danych I

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych

Inżynieria oprogramowania. Wykład 6 Analiza i specyfikowanie wymagań

Modelowanie diagramów klas w języku UML. Łukasz Gorzel @stud.umk.pl 7 marca 2014

IO - inżynieria oprogramowania. dr inż. M. Żabińska, zabinska@agh.edu.pl

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Bazy danych. dr inż. Andrzej Macioł

PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

Normalizacja baz danych

Projektowanie Zorientowane na Dziedzinę. ang. Domain Driven Design

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

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

Projektowanie i wdrażanie systemów informatycznych (materiały do wykładu cz. II)

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Transkrypt:

Projektowanie systemów informatycznych Roman Simiński roman.siminski@us.edu.pl siminskionline.pl Modelowanie danych Diagramy ERD

Modelowanie danych dlaczego? Od biznesowego gadania do magazynu na biznesowe informacje. 2

Modelowanie danych istota Modelowanie danych kojarzy się w sensie technicznym z bazami danych (rozumianych jako dział informatyki). Jednak modelowanie danych może być rozpatrywane na różnych poziomach kompetencji uczestników projektu oraz na różnych poziomach abstrakcji. Wynikowym rezultatem modelowania danych jest schemat bazy danych, który znajduje swoją implementację w gotowej do działania bazie danych. Istnieje kilka modeli implementacyjnych baz danych, aktualnie wiodące to dalej model relacyjny oraz podejście NOSql. Model obiektowy, w którym pokładano wielkie nadzieje, nie przyjął się praktycznie, powszechne jest jednak odwzorowanie obiektowo-relacyjne: ORM. Z uwagi na zmienność modeli implementacyjnych warto podejść do modelowania danych tak, aby można było docelowo korzystać z różnych takich modeli. 3

Trzy poziomy abstrakcji w modelowaniu danych Poziom konceptualny rozważane są biznesowe koncepcje i wymagania bez uwzględniania aspektów technologicznych. Najważniejsze jest to co chce klient biznesowy w zakresie przechowywania informacji. Rezultatem jest model konceptualny. 4

Trzy poziomy abstrakcji w modelowaniu danych Poziom logiczny przekształcenie biznesowych wymagań (modelu konceptualnego) w opis możliwy od implementacji. Tutaj następuje powiązanie tego co chce klient biznesowy z tym jak te wymagania spełnić. Rezultatem jest model logiczny, nie musi on jednak szczegółowo definiować wszystkich aspektów technicznych. 5

Trzy poziomy abstrakcji w modelowaniu danych Poziom fizyczny określenie szczegółowej i implementowalnej reprezentacji danych dla systemu, rozważania na tym poziomie koncentrują się na tym jak zrealizować przechowywanie informacji oraz jak uczynić to przechowywanie efektywnym. Rezultatem jest model fizyczny, pozwalający na utworzenie bazy danych systemu. 6

Analiza na poziomie konceptualnym Nie istnieje jedna słuszna droga budowania modelu konceptualnego, nie ma też jedynej wzorcowej metody jego reprezentowania. Na tym poziomie zazwyczaj skupiamy się na problemie biznesowym, operujemy terminologią właściwą dla rozważanej dziedziny problemu. Znając aktorów (np. z diagramów Use Case opracowanych na etapie tworzenia SRS) można wyodrębnić informacje przekazywane do systemu, odbierane od systemu, wskazać te które muszą zostać zapisane trwale. Można wyodrębnić dane o charakterze pierwotnym (np. cena netto), które są przechowywane w bazie, i wtórnym (np. cena brutto), które mają charakter wyliczeniowy. Na tym poziomie staramy się wyodrębnić i dobrze nazwać agregaty danych (obiekty) w rozważanej dziedzinie faktura, raport, produkt, zamówienie... 7

Analiza na poziomie konceptualnym, cd... Modelowanie danych na poziomie wymagań biznesowych niespodziewanie i podświadomie nabiera charakteru analizy obiektowej. Zwykle wyodrębniamy w rozważanej dziedzinie aktorów (jednostki zewnętrzne) i staramy się określić porcje informacji (koncepty, agregaty, obiekty) które są przez nich dostarczane do systemu i/lub odbierane od systemu. Tylko w trywialnych przypadkach rozważane porcje informacji są prostymi danymi elementarnymi (cena, marża, podatek), znacznie częściej te porcje są agregatami ( produkt charakteryzuje jego cena, marża, podatek ). Obiektowe podejście do projektowania i realizacji systemów informatycznych w naturalny sposób pozwala opisywać agregaty mówimy po prostu o obiektach. 8

Obiekty, atrybuty, wartości i ich dziedziny Obiekty zwykle posiadają cechy, właściwości, do ich opisywana wykorzystuje się koncepcję atrybutu. Atrybut posiada nazwę oraz pewną dziedzinę wartości jakie może przyjmować. Dla konkretnego obiektu atrybut może przyjmować wartość, pochodzącą z dozwolonej dziedziny wartości. Czasem atrybuty są proste liczba, znak, napis, symbol, bywają jednak złożone adres dla obiektu Osoba (ulica, kod, miasto, kraj), odbiorca dla obiektu Faktura (nazwa, adres). Złożone atrybuty będące agregatami mogą być osobnymi obiektami. Niektóre atrybuty mogą być w konkretnym zastosowaniu opcjonalne (np. numer telefonu), a niektóre obowiązkowe (np. nazwisko). Ważne są różnorodne, dziedzinowe informacje uzupełniające (np. dane pomiarowe generowane przez czujnik będą krótkimi ciągami znaków, ale będzie ich wiele, bo pomiary odbywają się co 30 sekund) 9

Analiza na poziomie logicznym Informacje opisane w modelu konceptualnym są uszczegóławiane i osadzane w kontekście informatycznym. Przykładowo, jeżeli magazynem danych ma być struktura relacyjną, należy: należy określić podział na tabele, wytypować i zweryfikować zestaw kluczy kandydujących, przeprowadzić analizę wyboru klucza głównego, odpowiednio nazwać pola, określić ich typy w kontekście przyszłej fizycznej implementacji. 10

Diagramy ERD diagramy związków encji ERD (ang. Entity-Relationship Diagrams) diagramy związków encji pozwalają na modelowanie danych w systemie informatycznym lub organizacji. Główny cel budowania diagramów ERD to znalezienie i zdefiniowanie: podstawowych danych przechowywanych systemie i opisanie ich w przy użyciu atrybutów; powiązań występujących pomiędzy danymi; ograniczeń nakładanych na dane. Model opisany diagramami ERD służy zwykle jako podstawa do zdefiniowania struktury bazy danych. DFD opisuje dynamiczne właściwości systemów informatycznych, ERD opisuje właściwości statyczne. 11

Elementy diagramów ERD encje Modelowanie danych przy użyciu diagramów ERD to znajdowanie obiektów (encji), o których informacje mają być zapamiętywane, definiowanie właściwości tych obiektów (atrybutów) oraz identyfikowanie związków (relacji) zachodzących pomiędzy obiektami. Pojęcie encji, zamieszanie w nazewnictwie: Encja (ang. entity), Obiekt danych, Jednostka danych. Model opisany diagramami ERD służy zwykle jako podstawa do zdefiniowania struktury bazy danych. Encja to istotny z punktu widzenia systemu obiekt ze świata rzeczywistego, reprezentujący rzecz (obiekt fizyczny) lub pojęcie (obiekt konceptualny), o którym informacje mają być przechowywane w sposób trwały. 12

Elementy diagramów ERD encje Przykłady encji: Obiekty fizyczne pracownik, klient, produkt, faktura, student, wydział. Obiekty konceptualne zatrudnienie, asortyment, przedmiot, kierunek studiów. Nazwa encji to zwykle rzeczownik w liczbie pojedynczej. Nazwa encji odzwierciedla typ lub klasę opisywanych pojęć a nie konkretny egzemplarz. 13

Elementy diagramów ERD atrybuty Każda encja posiada pewne właściwości przechowywane w bazie danych. Właściwości opisywane są przez atrybuty i ich wartości. Wśród atrybutów wyróżnia się atrybut kluczowy. Jest to atrybut (lub złożenie atrybutów) jednoznacznie identyfikujących każdą encję ( NIP, PESEL, numer rejestracyjny lub specjalnie wprowadzane atrybuty wprowadzające rozróżnialność obiektów w systemie : nr faktury, kod towaru, nr klienta). Atrybuty mogą być (ze względu na dziedzinę wartości): proste wiek, cena, imię, złożone adres, świadectwo pracy, umowa. Atrybuty mogą być (ze względu na sposób przechowywania wartości): przechowywane trwale (ang. stored), wyliczane (ang. derived, computed). 14

Elementy diagramów ERD atrybuty, notacja 15

Encja a typ encji 16

Związki między encjami Związek powiązanie występujące pomiędzy dwoma lub większą liczbą encji, odwzorowujące naturalne powiązania występujące w modelowanym fragmencie rzeczywistości. Każda encja może występować w określonej relacji z jedną, żadną lub wieloma encjami. Każda relacja występująca na diagramie powinna być nazwana. Związek to istotny z punktu widzenia systemu, nazwany związek występujący pomiędzy encjami. 17

Typy związków Każdy związek występujący na diagramie ERD określony jest: nazwą, liczebnością (inaczej stopniem), opcjonalnością. Nazwa związku określa semantykę powiązania występującego pomiędzy encjami. Liczebność liczba encji występujących w związku nazywa się liczebnością (ang. cardinality). W zależności od liczebności rozróżnia się związki: Jeden do jeden, 1:1, Jeden do wiele, 1:N, Wiele do wiele, M:N. Opcjonalność związku określa czy encja powiązana musi występować czy też jest opcjonalna. 18

Związki 1:1 Każda pełnoletnia osoba posiada dowód osobisty: Każdym samochodem może kierować jedna osoba: Interpretacja związków 1:1: Każda pełnoletnia osoba posiada jeden dowód osobisty, każdy wystawiony dowód osobisty należy do jednej osoby. W danym momencie kierowca prowadzi jeden samochód, każdy samochód kierowany jest przez jednego kierowcę. Związki jeden do jeden nie występują zbyt często, duża liczba takich związków może świadczyć o niewłaściwie przeprowadzonej analizie danych. 19

Związki 1:N Każdy katalog (folder) może zawierać wiele plików: Producent wytwarza wiele wyrobów: Każdy klient przy zakupie otrzymuje fakturę, klient może dokonywać wielu zakupów: 20

Związki 1:1 a związki 1:N 21

Opcjonalność związków 22

Opcjonalność związków 23

Związki M:N 24

Związki M:N 25

Związki M:N 26

Związki M:N 27