Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Podobné dokumenty
Tvorba informačních systémů

Tvorba informačních systémů

Databázové modelování. Analýza Návrh konceptuálního schématu

Databáze I. Přednáška 7

Unifikovaný modelovací jazyk UML

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

6 Objektově-orientovaný vývoj programového vybavení

Michal Krátký, Miroslav Beneš

Úvod do databázových systémů

1. Dědičnost a polymorfismus

Obsah přednášky. 12. Dokumentace zdrojového kódu Tvorba elektronické dokumentace UML. Co je diagram tříd. Ing. Ondřej Guth

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

UML. Unified Modeling Language. Součásti UML

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

7.5 Diagram tříd pokročilé techniky

SQL - trigger, Databázové modelování

Analýza a modelování dat. Přednáška 5

Konceptuální modelování. Pavel Tyl

Konceptuální datové modely používané při analýze

7.5 Diagram tříd pokročilé techniky

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

Objektově relační databáze a ORACLE 8

7.3 Diagramy tříd - základy

DBS Konceptuální modelování

Principy UML. Clear View Training 2005 v2.2 1

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

OOT Objektově orientované technologie

Databázové a informační systémy. Verze Michal Krátký

7.3 Diagramy tříd - základy

Platforma Java. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, / 15

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika

Diagramy tříd - základy

12. Postrelační databázové systémy

Stored Procedures & Database Triggers, Tiskové sestavy v Oracle Reports

Modelování procesů s využitím MS Visio.

12. Postrelační databázové systémy

Databázové systémy Cvičení 5.2

Infrastruktura UML. Modelování struktury v UML. Superstruktura UML. Notace objektů. Diagramy objektů

Databázové systémy trocha teorie

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Úvod do databázových systémů

Úvod do databázových systémů 6. cvičení

2. přednáška. Databázový přístup k datům (SŘBD) Možnost počítání v dekadické aritmetice - potřeba přesných výpočtů, např.

Konceptuální modelování a SQL

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Object-relational mapping (JPA, Hibernate)

TÉMATICKÝ OKRUH Softwarové inženýrství

Tabulka fotbalové ligy

Objekty, třídy, vazby 2006 UOMO 30

Semestrální práce z DAS2 a WWW

Metody popisu systému, základy UML

Dolování v objektových datech. Ivana Rudolfová

3 druhy UML diagramů

Virtual Private Database (VPD) Jaroslav Kotrč

30. března Je možné dle analýzy implementovat systém tak, aby splňoval požadavky zadavatele?

Analýza dat a modelování. Přednáška 3

UML úvod. Zdroje: Kanisová Hana, Müller Miroslav: UML srozumitelně, Computer Press 2007

Jiří Mašek BIVŠ V Pra r ha

2 Konceptuální modelování a návrh databáze

RELAČNÍ DATABÁZOVÉ SYSTÉMY

2 Konceptuální modelování a návrh databáze

Databázové systémy úvod

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

Jazyk UML - přehled. diagram hierarchie procesů. IS firmy. podpora řízení. evidence zaměstnanců. pokladny. výroba. diagram procesních vláken

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázových systémů

11 Diagram tříd, asociace, dědičnost, abstraktní třídy

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Modelování informačních systémů s využitím jazyka UML. Jaroslav Šmarda

DBS Transformace konceptuálního schématu na

Tvorba informačních systémů

Analýza a modelování dat. Helena Palovská

Třída. Atributy. Operace

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Informační systémy ve zdravotnictví. 6. cvičení

Použití databází na Webu

Komputerizace problémových domén

DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY

Kapitola 2: Entitně-vztahový model (Entity-Relationship model) Množiny entit (entitní množiny) Atributy

DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY

Ruční návrh Připravíme si odpovědi na základní otázky Co chceme řešit (projektovat) a proč Komu to bude sloužit Jaký užitek z toho bude mít uživatel I

Relace x vztah (relationship)

Communist Party of Nepal (Unified Marxist-Leninist) Unified Modeling Language University of Massachusetts Lowell User-mode Linux.

Databázové a informační systémy Jana Šarmanová

8.2 Používání a tvorba databází

Transformace konceptuálního modelu na relační

UML a jeho použití v procesu vývoje. Jaroslav Žáček jaroslav.zacek@osu.cz

Abstraktní datové typy Objektový přístup v Oracle

Úvod do programovacích jazyků (Java)

Úvod do principů objektově orientovaného programování

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Databáze 2013/2014. Konceptuální model DB. RNDr. David Hoksza, Ph.D.

Nerelační databázové modely. Helena Palovská

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

RELAČNÍ DATABÁZE. Cíl:

Databázové a informační systémy

TÉMATICKÝ OKRUH Softwarové inženýrství

UML - Unified Modeling Language

Transkript:

Tvorba informačních systémů 1/40 Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2008/2009

Tvorba informačních systémů 2/40 Úvod Obsah. Entity Relationship (ER).. Mapování třídního diagramu do relačního či objektově-relačního datového modelu.

Tvorba informačních systémů 3/40 Úvod je proces vývoje sémantického popisu nějakého systému, který je uplatněn při návrhu a implementaci databázové aplikace. Vlastnosti: Nezávislý na databázi. Definuje omezení kladená na data.

Tvorba informačních systémů 4/40 Entity Relationship Diagram (ERD) Entity Relationship (ER) Peter Chen, 1976. Entita representuje věc nebo objekt uložený v databázi. Vazby definují způsob jakým jsou entity spojeny. Atributy jsou vlastností objektů. Typ entity vs. entity. Atributy vs. hodnoty atributů. Rozšíření ER Enhanced ER (EER), zavedení nových rysů (dědičnost apod.).

Tvorba informačních systémů 5/40 Entity Relationship Diagram (ERD) Enhanced ER (EER), příklad c S.W. Dietrich, S.D. Urban: An Advanced Course in Database Systems, Prentice Hall, 2005.

Tvorba informačních systémů 6/40 UML je vizuální, objektově-orientovaný modelovací jazyk zachycující strukturální a dynamické aspekty softwarového systému. Na rozdíl od EER, UML je kolekce modelovacích technik, které jsou aplikovány na různé aspekty vývoje softwaru. Každá technika poskytuje různý statický nebo dynamický pohled na aplikaci. Kolekci pohledů nazýváme model.

Tvorba informačních systémů 7/40 Modelovací techniky UML 1/2 Třídní diagram (Class Diagram) statický diagram struktury. Modeluje entity jako třídy s atributy a chováním. Definuje vazby a omezení, které existují mezi třídami. Objektový diagram (Object Diagram) ukazuje specifické instance tříd. Use-Case Diagram poskytuje popis systému a jeho použití z pohledu uživatele. Stavový diagram (State diagram) popisuje stavy objektů a změny ve stavech, které nastávají jako odpověd na události.

Tvorba informačních systémů 8/40 Modelovací techniky UML 2/2 Sekvenční diagram (Sequence diagram) prezentuje interakce mezi objekty. Diagram aktivit (Activity diagram) graf toků ukazující úlohy, které je nutné vykonat ve výpočetním procesu. Diagram spolupráce (Collaboration diagram) popisuje jak různé elementy spolupracují.

Tvorba informačních systémů 9/40 Proč UML pro konceptuální modelování databází? Poskytuje více objektově-orientovaný přístup k návrhu databáze. Stejný jazyk pro analýzu databáze i samotné aplikace. Použitelné pro objektově-relační i relační datový model. UML je založeno na stejných konceptech jako ER. UML je standardizováno Object Management Group (http://www.omg.org).

Tvorba informačních systémů 10/40 UML vs. ER UML třída asociace atribut role násobnost zobecnění a specializace EER typ entity vazba atribut role strukturální omezení zobecnění a specializace

Tvorba informačních systémů 11/40 Třída Objekt zájmu v systému. Zabaluje strukturu a chování objektu, který je instancí třídy. Tři části: jméno třídy, atributy a metody.

Tvorba informačních systémů 12/40 Stereotypy Možnost rozšíření popisu významu modelované třídy. Uvozen znaky. persistent - třída bude mapována do databázové reprezentace relačního schéma. Pojmy: perzistentní vs. neperzistentní.

Tvorba informačních systémů 13/40 Atributy [ stereotype ] [visibility] [/] attributename [multiplicity]: [type] [=initialvalue] stereotype přidání sémantiky k atributu. visibility + public; # protected; - private. / označuje odvozený atribut. attributename jméno atributu. multiplicity indikuje vícehodnotový atribut.

Tvorba informačních systémů 14/40 Příklad: atributy a poznámky

Tvorba informačních systémů 15/40 Operace [ stereotype ] [visibility] methodname [parameters]: [returntype] stereotype další význam operace. visibility + public; # protected; - private. methodname název metody. parameters seznam dvojic typ/název oddělený čárkami. returntype typ návratové hodnoty.

Tvorba informačních systémů 16/40 Příklad: Operace

Tvorba informačních systémů 17/40 Operace v relačním modelu? 1/2 Nastavující/zpřístupňující metody (set/get) nejsou z principu v databázových systémech použitelné. Moderní relační SŘBD umožňují implementovat tzv. uložené procedury (stored procedures), které mohou být volány klientem. Např. uložená procedura v Oracle. Zavoláním procedury insert_email( jan440 ) vložíme email studenta se jménem jan440 z tabulky student do tabulky email.

Tvorba informačních systémů 18/40 Operace v relačním modelu? 2/2 CREATE OR REPLACE PROCEDURE insert_email(pom_login CHAR) AS pom_email VARCHAR2(60); BEGIN SELECT email INTO pom_email FROM ins.student WHERE login=pom_login; INSERT INTO email VALUES(pom_email); END; Takové procedury jsou velmi výhodné přenesení funkcionality na stranu serveru.

Tvorba informačních systémů 19/40 Zobecnění a specializace Obdobné jako u ER (ISA apod.). Vytvoření hierarchie tříd. Instance podtřídy je rovněž instancí nadtřídy. Omezení specializace: mandatory, complete,... Můžeme označit abstraktní třídy.

Tvorba informačních systémů 20/40 Příklad: zápis specializace

Tvorba informačních systémů 21/40 Omezení specializace Omezení specializace je uvozeno mezi znaky { a }. mandatory nejméně k jedné podtřídě chceme vytvořit instanci (využitelné v databázích). complete všechny podtřídy jsou již definovány. incomplete nejsou definovány všechny podtřídy.

Tvorba informačních systémů 22/40 Abstraktní třída Třída jejíž instance nemůže být vytvořena. Název třídy italic nebo před názvem třídy {abstract}. Potomka abstraktní třídy jehož instanci můžeme vytvořit nazýváme konkrétní třída. Abstraktní vs. konkrétní operace.

Tvorba informačních systémů 23/40 Diskriminátory (Discriminators) Členství v podtřídách založené na atributu nadtřídy. Atribut, který určuje členství v podtřídě nazýváme diskriminátor. Pro každou hodnotu atributu musí existovat podtřída. Diskriminátor zapisujeme k čáře specializace a považujeme jej za pseudo atribut nadtřídy. Specializace je typu mandatory, nadtřída tedy musí být abstraktní.

Tvorba informačních systémů 24/40 Příklad: diskriminátor

Tvorba informačních systémů 25/40 Diskriminátor, implementace Diskriminátor často naznačuje implementaci dědičnosti v relačním datovém modelu. Příklad, tabulka Person: Login FirstName LastName Address StudentOrTeacher kra28 Jan Král... Y sob19 Tomáš Sobota... N sve11 Barbora Švecová... N...

Tvorba informačních systémů 26/40 Asociace ER: vazby (relationships). UML: asociace. Násobnost: 1:1, 1:N, M:N. Popis: název, role a násobnost + povinnost v členství (multiplicita). Šipkou můžeme naznačit směr asociace.

Tvorba informačních systémů 27/40 Příklad: asociace Název asociace: mazapsan. Vyznačen směr asociace. Role: mazapsan Student má zapsán VypsanyKurz. jenavstevovan VypsanyKurz je navštěvován Studentem. Násobnost: 0..*: Student má zapsán žádný nebo více VypsanychKurzů. VypsanyKurz je navštěvován žádným nebo více Studenty.

Tvorba informačních systémů 28/40 Asociační třída V třídním digramu můžeme naznačit rozklad vazby M : N pomocí asociační třídy.

Tvorba informačních systémů 29/40 Konkretizace asociace Konceptuální model může zahrnovat několik úrovní abstrakce. Např. v prvním TD použijeme asociační třídu pro naznačení rozkladu vazby M : N, ve druhém TD vazbu rozložíme.

Tvorba informačních systémů 30/40 N-ární asociace

Tvorba informačních systémů 31/40 Další asociace Navigability udán směr asociace pro implementaci (porovnej s klasickou obousměrnou asociací). Agregace asociace typu skládá se z. Složení (composition) obdoba agregace. Kvalifikovaná asociace pole asociováno s N hodnotami. Xor výběr ze dvou tříd.

Tvorba informačních systémů 32/40 Co ještě umí UML? Rozhraní v třídním diagramu. Další diagramy: Objektový diagram, Use-Case Diagram, Stavový diagram, Sekvenční diagram, Diagram aktivit, Diagram spolupráce. Ne všechny diagramy jsou vhodné pro datovou, funkční a dynamickou analýzu informačního systému.

Tvorba informačních systémů 33/40 Mapování třídního diagramu do relačního datového modelu Konceptuální model musí být přenesen na konkrétní datový model SŘBD. Třídu mapujeme na relační schéma. Instance třídy záznam. Množina instancí relace. Vazbu 1 : 1 a 1 : N můžeme implementovat cizím klíčem. Rozklad vazby M:N pomocí vazební tabulky. Validace: rozkladem univerzálního schématu.

Tvorba informačních systémů 34/40 Mapování třídního diagramu do relačního datového modelu CREATE TABLE course ( id NUMBER(4) PRIMARY KEY, name VARCHAR2(50) NOT NULL, day VARCHAR2(2) NOT NULL, time VARCHAR2(11)) CREATE TABLE workgroup ( id NUMBER(2) PRIMARY KEY, name VARCHAR2(20) NOT NULL UNIQUE, course NUMBER(4) REFERENCES course NOT NULL) Asociace je tedy implementována cizím klíč (atribut workgroup.course).

Tvorba informačních systémů 35/40 Mapování třídního diagramu do objektově-relačního datového modelu Objektově-orientované databáze: Object Data Management Group (ODMG), Object Query Language (OQL). Nákladná migrace relačních dat, proto vznikly objektově-relační rysy v relačních databázích (SQL99). Uživatelsky definované datové typy. Možnost definovat atributy a metody. Zavedení dědičnosti. Datový typ ukazatel, reference a dereference. Uložené procedury, triggery: metody uložené v SŘBD přenesení funkcionality na server.

Tvorba informačních systémů 36/40 Mapování třídního diagramu do objektově-relačního datového modelu, Oracle CREATE OR REPLACE TYPE TAddress AS OBJECT ( street VARCHAR2(30), city VARCHAR2(30), PSC NUMBER(5)); CREATE OR REPLACE TYPE TPerson AS OBJECT ( login VARCHAR2(6), fname VARCHAR2(20), address TAddress,... ) NOT FINAL NOT INSTANTIABLE; Důsledek: atribut address není atomický.

Tvorba informačních systémů 37/40 Mapování třídního diagramu do objektově-relačního datového modelu, Oracle CREATE OR REPLACE TYPE TTeacher UNDER TPerson ( department REF TDepartment, room REF TRoom, enlistment REF TEnlistment, title VARCHAR2(30), STATIC FUNCTION authentication (login VARCHAR2, password VARCHAR2, md NUMBER) RETURN REF TTeacher); Typ TTeacher dědí z typu TPerson, obsahuje metodu authentication().

Tvorba informačních systémů 38/40 Analýza Analýza Zadání a specifikace požadavků, (Use-case). Konceptuální analýza: třídní diagram UML různé úrovně abstrakce (bez/s metodami a atributy, rozklad vazeb M:N atd.), lineární zápis.

Tvorba informačních systémů 39/40 Analýza Analýza Datová analýza: tabulky a jejich popis (IO, NULL, index atd.). Funkční (a dynamická analýza): Data Flow Diagram nebo prostředky UML (především stavový diagram). Pro netriviální DFD na poslední úrovni je vhodné vytvářet scénáře popisující formuláře (jednou z forem jsou minispecifikace). UML pro analýzu a návrh celé aplikace.

Tvorba informačních systémů 40/40 Analýza Literatura S.W. Dietrich, S.D. Urban: An Advanced Course in Database Systems, Prentice Hall, 2005. H. Garcia-Molina, J.D. Ullman, J. Widom: Database Systems, The Complete Book. Prentice Hall, 2002. Object Management Group (OMG): Unified Model Language (UML). (http://www.omg.org), 2006. Object Data Management Group (ODMG): The Standard for Storing Objects, (http://www.odmg.org), 2006. M. Krátký, R. Bača: Databázové systémy. http://db.cs.vsb.cz/edu/dbsys.pdf, 2009.