Konceptuální modelování. Pavel Tyl 21. 3. 2013



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

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

Konceptuální modelování a SQL

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

DBS Konceptuální modelování

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

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

DATOVÉ MODELOVÁNÍ ER MODEL

Databáze. Logický model DB. David Hoksza

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

DBS Transformace konceptuálního schématu na

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

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

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel

C8 Relační databáze. 1. Datový model

Funkční schéma Datové schéma Integrita modelu s realitou

Úvod do softwarového inženýrství IUS 2009/2010 p.1/30

Databázové systémy. Vztahy a relace. 3.přednáška

Fakulta elektrotechniky a informatiky Vysoká škola báňská - Technická univerzita Ostrava. Úvod do databázových systémů 2012/2013 IS MHD

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

Databázové systémy trocha teorie

Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky.

4IT218 Databáze. 4IT218 Databáze

Relace x vztah (relationship)

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

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

Úvod do databázových systémů 2012/2013 IS MHD. Jiří Znoj zno

Databázové systémy. Cvičení 2

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Transformace ER SQL. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 9

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

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

A5M33IZS Informační a znalostní systémy. Relační databázová technologie

Diagram výskytů a vztahů

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

Modelový příklad Knihovna Vypracovaný příklad ze cvičení včetně komentářů k řešení

Databázové systémy. Přednáška 1

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

Databázové systémy. Tomáš Skopal. - úvod do relačního modelu. - převod konceptuálního schématu do relačního

Databázové systémy. Ing. Radek Holý

2. Konceptuální model dat, E-R konceptuální model

Strukturované metodologie

10. blok Logický návrh databáze

DBS Konceptuální modelování

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA

Konceptuální modelování

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

Databázové systémy 1. Cvičení č. 9. Fakulta elektrotechniky a informatiky Univerzita Pardubice

Zadání. Seznam typů entit včetně jejich atributů, vyznačte klíče a cizí klíče Seznam typů vztahu určený svým názvem a entitami do něj vstupujícími

9 Strukturovaná analýza

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

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

Relační databázová technologie

Databáze I. 4. přednáška. Helena Palovská

Vývoj IS - strukturované paradigma II

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

5. Formalizace návrhu databáze

Tvorba informačních systémů

Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací

Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola

Relační databáze. V dnešní době existuje řada komerčních DBMS, nejznámější jsou:

5. POČÍTAČOVÉ CVIČENÍ

Databázové a informační systémy Informační systém prodejny nábytku. Jakub Kamrla, KAM087

9 Strukturovaná analýza

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

Relační databázová technologie

Souvislost E-R schématu s relačním

Model podnikových procesu. Model objektu. Model funkcí. Akce. Proces Objekt (trída) Událost Atribut. Akce. Akce. Funkce

DUM 12 téma: Příkazy pro tvorbu databáze

Konceptuální modelování

5. Formalizace návrhu databáze

VŠB FEI - Technická Univerzita Ostrava. DAIS - Projekt. Dopravní podnik. Jméno: Matěj Kotyz (KOT0177)

IS Restaurace. Semestrální práce. Tomáš Rumíšek V Brně dne Peter Ševčík

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

Architektura informačních systémů. - dílčí architektury - strategické řízení taktické řízení. operativní řízení a provozu. Globální architektura

Relační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti

Informační systém pro nemocnici

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

Hierarchický databázový model

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Smysl metodiky IS/IT. Koncentrovaná zkušenost Checklist na nic nezapomeneme

Entitno - relačný model. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Database engine (databázový stroj, databázový motor, databázové jádro) Systém řízení báze dat SŘBD. Typy SŘBD podle způsobu práce s daty

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

Tvorba informačních systémů

Internetová filmová databáze IFDB

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

Informační systémy a datové sklady IS uměleckých galerií Analýza datového skladu

4. Základy relačních databází, logická úroveň návrhu

Metodika návrhu databáze

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

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ř.

Tvorba informačních systémů

Datové modelování II

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

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

Funkční analýza Předmět Informační systémy. Daniela Szturcová

Návrh databázového modelu

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

Transkript:

Konceptuální modelování Pavel Tyl 21. 3. 2013

Vytváření IS

Vytváření IS Analýza Návrh Implementace Testování Předání Jednotlivé fáze mezi sebou iterují

Proč modelovat a analyzovat? Standardizované pracovní postupy Snadnější komunikace v týmu Aktuální a kompletní dokumentace

Fáze návrhu databáze

Analýza Funkční analýza DFD Data Flow Diagram Datová analýza ER Model Entity Relationship Model ERD Entity Relationship Diagram základy zformuloval Peter Chen v roce 1976, mnohostranný vývoj hovoříme o rodině ER modelů

Vztah ER a DFD Kontextový diagram DFD 1. úroveň ERA diagram DFD n-tá úroveň Definice všech datových prvků Specifikace procesů popis všech funkcí s uvedením na datové prvky a s popisem podmínek vykonání funkcí

Funkční analýza Identifikace systémových funkcí Identifikace událostí Definice transakcí Popis transakcí

DFD Data Flow Diagram Stavební prvky DFD Proces 1 Název Terminátor Název Datový tok Název Úložiště dat Název

DFD Top-Down postup Používáme postup shora dolů Úrovně: 1. Kontextový diagram informace o tom, jak bude IS komunikovat se zbytkem světa 2. N. další postupné rozklady (maximální doporučená hodnota N je 3) Je vhodné dodržovat jmennou konvenci

Chyby DFD Datová úložiště, ze kterých se pouze čte nebo se do nich pouze zapisuje Samogenerující funkce funkce, které mají jenom výstupy Černé díry funkce, do nichž data pouze vstupují Nepojmenované datové toky

Seznam událostí p. č. Název události Typ Reakce systému 1 Dílna žádá materiál Data Vyhledá materiál, vystaví výdejku 2 Sklad nemá dostatek materiálu Řídící Vystaví objednávku 3 Dodavatel dodá materiál Data Přijme materiál, potvrdí dodací list 4 Je první den v měsíci Řídící datum Vytvoří přehled o spotřebě

Jednoduchý příklad kontextového diagramu Dodavatel Dílna Sklad Management

Upřesněný příklad kontextového diagramu Dodavatel Objednávka Žádanka Dílna Dodací list Výdejka Sklad Přehled spotřeby Management

Další úrovně rozkladu Sklad Objednávka Žádanka Výdejka Objednávání Mat. dodavatel Mat. Databáze Materiál Zásoba mat. Sklad. zásoby Výdej materiálu Příjem materiálu Tvorba přehledů Přehled spotřeby

Chyby DFD Datová úložiště, ze kterých se pouze čte nebo se do nich pouze zapisuje Samogenerující funkce funkce, které mají jenom výstupy Černé díry funkce, do nichž data pouze vstupují Nepojmenované datové toky

ER model Cílem je vytvořit datový model postihující určitou část reálného světa Svět je chápán jako zjednodušená množina objektů (entit) a vztahů mezi nimi říkáme jí ER diagram ERA diagram ještě přidává atributy Vytváříme jím konceptuální schéma

Postup návrhu databáze Entitní množiny a vztahy Prvotní schéma Osoba (rč,jméno,příjmení,vzdělání, děti, Normalizované schéma Osoba (rč,jméno,příjmení, ) Vzdelani (název, ) Normalizace Návrh fyzické organizace db (indexy, tabulkové prostory, Vytvoření databázových objektů CREATE TABLE Osoba (rč int not null, Jméno varchar(15) NULL, CREATE INDEX irc on Osoba

Postup návrhu databáze Entitní množiny a vztahy Prvotní schéma Produkt (nazev,lokalita,parametry, ) Normalizované schéma Produkt (nazev) Lokalita (nazev,misto,parametry, ) Normalizace Návrh fyzické organizace databáze (indexy, tabulkové prostory, Vytvoření databázových objektů CREATE TABLE Produkt (nazev varchar(15) NULL, CREATE INDEX inazev on Produkt

Primitiva ERD Entita (reálná nebo imaginární část světa) věc, která nás zajímá a ke které chceme sbírat data např. řidič s řidičským průkazem č. 87A73, auto s SPZ 3A4 4536, Entitní množina množina entit téhož typu, které sdílí stejné vlastnosti či atributy např. Řidič, Auto,...

Primitiva ERD Atributy vlastnost entity, která nás v daném kontextu zajímá a jejíž hodnotu chceme mít v DB uloženu např. Jméno, příjmení, SPZ, Doména atributu seznam přípustných hodnot

Primitiva ERD Vztahy mezi entitami asociace mezi entitami např. řidič s řp. č. 23456 řídí vozidlo s SPZ 3A3 6456 Atributy vztahů Parcialita vztahu Kardinalita vztahu (1:1, 1:N, M:N)

Řidič Auto Karel Pavla Jana Řídí Audi Škoda BMW Pavla Audi Jana BMW Škoda Karel

Atributy Jednoduché (Datum, Jméno) Kompozitní (Složené) např. Adresa=(Ulice, Č_domu, Č_orientační, PSČ)

Atributy Vícehodnotové např. Vzdělání={základní, středoškolské, vysokoškolské}

NULL atributy Atributy povolující prázdnou hodnotu Hodnota chybí např. datum narození hodnota existuje, ale není nám známa Hodnota neexistuje např. číslo bytu nevím, jestli hodnota vůbec existuje

Integritní omezení Schéma relace R(A, D, IO) Kardinalita vztahu Členství ve vztahu Slabé entitní typy

Vztahy mezi entitami Vyjadřuje souvislost (vztah, závislost) mezi entitami název je sloveso, obvykle je možné dvojí čtení (jazyková, NE konceptuální záležitost!) např. má, náleží, je členem, obsahuje

Vztahy mezi entitami Jméno vztahové množiny, jméno role vyjadřuje význam vztahu Stupeň 1 1 A R B C 1

Kardinalita vztahu Předpokládejme vztah MA_NA PROGRAMU mezi entitami DIVADLO a PROGRAM Obecně tento vztah může být kardinality: 0:0 1:1 1:N M:N

Vztah 1:1 F. X. Šaldy Naivní Malé Mánesovo Sokolské MA_NA_PROGRAMU Donaha Kolotoč Prkno Želivka Labutě Dané divadlo má na programu maximálně jednu hru Daná hra se hraje v maximálně jednom divadle Obecně lze uvažovat i tzv. částečné vztahy 1:0 a 0:1

Vztah 1:N F. X. Šaldy Naivní Malé Mánesovo Sokolské MA_NA_PROGRAMU Donaha Kolotoč Prkno Želivka Labutě Dané divadlo může mít na programu více než jen jednu hru Daná hra je na programu maximálně v jednom divadle Je důležitý směr, neboť je rozdíl jednomu divadlu více her a jedné hře více divadel

Vztah M:N F. X. Šaldy Naivní Malé Mánesovo Sokolské MA_NA_PROGRAMU Donaha Kolotoč Prkno Želivka Labutě Dané divadlo může mít na programu více her Daná hra je na programu ve více divadlech

ER Entity Relationship Model Stavební prvky ER Atribut vztahu Vztah Atribut entity RC Jméno Plat Od KO Nazev Zaměstnanci Pracuje_V Oddělení Primární klíč Entita

Kardinalita v ER 1 0..* Zaměstnanci Pracuje_V Oddělení 1 N Zaměstnanci Pracuje_V Oddělení M N Zaměstnanci Pracuje_V Oddělení

Ternární vztahy 1 1 A R B 1 C Příklad obsahuje tři determinanty A, B, C Determinant: entita jednoho typu jednoznačně určuje entitu druhého typu (entita determinuje entity druhého typu)

Ternární vztahy 1 1 A R B N C Determinantem je C Každé entitě C je přiřazena entita A a B

Ternární vztahy M N A R B 1 C Determinantem je dvojice typů entit A, B Pro každé dvě entity typů A, resp. B je jednoznačně určena entita typu C

Ternární vztahy M N A R B O C Není žádný determinant

Integritní omezení Schéma relace R(A, D, IO) Kardinalita vztahu Členství ve vztahu Slabé entitní typy

Členství ve vztahu Organizační pravidla mohou určovat, jak se budou entity vyskytovat ve vztahu každý výskyt entity musí být ve vztahu zapojen některé výskyty entity se mohou vyskytovat i mimo vztah

Členství ve vztahu Zaměstnanci Pracuje_V Oddělení

Členství ve vztahu Zaměstnanci Pracuje_V Oddělení Čteme: Zaměstnanec musí pracovat v nějakém oddělení, ale oddělení nemusí mít žádné zaměstnance V entitě oddělení musí existovat alespoň jeden záznam příslušný k entitě zaměstnanci

Členství ve vztahu Zaměstnanci Pracuje_V Oddělení Zaměstnanec == povinné členství (všechny entity typu Zaměstnanec musí být zapojeny ve vztahu) Oddělení == nepovinné členství

Členství ve vztahu Zaměstnanci Pracuje_V Oddělení Zaměstnanec == povinné členství (všechny entity typu Zaměstnanec musí být zapojeny ve vztahu) Oddělení == nepovinné členství

Členství ve vztahu Zaměstnanci Pracuje_V Oddělení

Členství ve vztahu Zaměstnanci Pracuje_V Oddělení Zaměstnanec musí pracovat v nějakém oddělení Oddělení musí mít alespoň jednoho zaměstnance

Členství ve vztahu Zaměstnanci Pracuje_V Oddělení

Členství ve vztahu Zaměstnanci Pracuje_V Oddělení Zaměstnanec nemusí pracovat v žádném oddělení Oddělení nemusí mít žádné zaměstnance Zaměstnanec == nepovinné členství Oddělení == nepovinné členství

Integritní omezení Schéma relace R(A, D, IO) Kardinalita vztahu Členství ve vztahu Slabé entitní typy

Slabé entitní typy Jedná se o rozšíření klasického ER modelu Pokud nebudou součástí klíče entity pouze její vlastní atributy, ale i atributy jiných entit, mluvíme o tzv. slabém entitním typu Opakem jsou silné entitní typy Pokud tedy máme slabou entitu, nelze její instance rozlišit pouze podle vlastních atributů

Identifikační vlastník Řešení: instance lze identifikovat pomocí toho, že jsou v povinném vztahu k jinému entitnímu typu Takovému typu se říká identifikační vlastník Typ vztahu spojující slabý entitní typ s jeho identifikačním vlastníkem nazýváme identifikační vztah

JMENO Identifikační vlastník CK Film Má Kopie Film má několik kopií, z nichž každá je označena číslem od 1 do počtu kopií Máme-li v evidenci více filmů a jejich kopie, může se stát, že bude mít více entit typu Kopie stejné číslo kopie (budou to kopie jiných filmů) Jaké je řešení?

Identifikační vlastník Musíme rozšířit klíč entity Kopie i o primární klíč entity Film Pak tedy PK entity kopie bude dvojice (JMENO, CK) Jinými slovy nemůže nastat stav, že budou existovat dvě kopie stejného filmu se stejným číslem kopie

Identifikační vlastník Další příklad: RC Jméno Cena Plat Pnázev Věk Zaměstnanci Pojistka Pokrytí