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

Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

Embed Size (px)

Citation preview

Page 1: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

1

Databázové modelování

AnalýzaNávrh konceptuálního schématu

Page 2: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

2

Vytváření IS

Analýza Návrh Implementace Testování Předání SW

Jednotlivé fáze mezi sebou iterují

Page 3: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

3

Proč modelovat/analyzovat?

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

Page 4: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

4

Analýza

Funkční analýza DFD – Data Flow Diagram

Datová analýza ER Model – Entity Relationship Model ERD (Entity-Relationship Diagram) Peter Chen in 1976

Page 5: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

5

Funkční analýza

Identifikace systémových funkcí Identifikace událostí Definice transakcí Popis transakcí

Page 6: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

6

DFD – Data Flow Diagram

Stavební prvky DFD

1 Název

Název Název

NázevProces

Datový tok

Terminátor

Úložiště dat

Page 7: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

7

DFD Top-Down Postup

Používáme postup Shora – dolů Úrovně:

1. Kontextový diagram – inf. o tom jak bude IS komunikovat se zbytkem světa

2.- n-tá další postupné rozklady (max. doporučená hodnota n je 3, pozn. jedná se o hodnotu doporučenou)

Vhodná jmenná konvence

Page 8: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

8

Chyby DFD

datastory, z nichž se jenom čte nebo se do nich jenom zapisuje

samogenerující funkce, tj. funkce které mají jenom výstupy

černé díry, tj. funkce do nichž data pouze vstupují

Page 9: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

9

Jednoduchý příklad kontextového diagramu

Dodavatel

Management

Dílna

Sklad

Page 10: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

10

Seznam událostí

Vytvoří přehled o spotřebě

Řídící datum

Je první den v měsíci4.

Přijme mat., potvrdí dodací list

DataDodavatel dodá materiál

3.

Vystaví objednávku ŘídícíSklad nemá dostatek materiálu

2.

Vyhledá mat., vystaví výdejku

DataDílna žádá materiál1.

Reakce systémuTypNázev událostip.č.

Page 11: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

11

Upřesněný kontextový diagram

Dodavatel

Management

Dílna

SkladDodací list

Objednávka

Přehled spotřeby

Žádanka

Výdejka

Page 12: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

12

Další úrovně rozkladu - skladŽádanka

Databáze

Objednávání

Příjem mat. Tvorba přehledů

Výdej mat.

Objednávka

Přehled spotřeby

Skladové zásoby

Mat.

Mat. dodavatel

Výdejka

Zásoba mat.

Materiál

Page 13: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

13

ER Model

Cílem je vytvořit datový model postihující určitou část „světa“

Postup zdola nahoru Vytváříme Konceptuální schéma

(nezávisle na DB modelu -relační, síťový)

Page 14: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

14

Primitiva ERD

Entita (reálná nebo imaginární část světa)

Typová entita (superclass) Atributy Vztahy mezi entitami Atributy vztahů Parcialita vztahu Kardinalita vztahu (1:1, 1:N, M:N)

Page 15: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

15

Atributy

Jednoduché (Datum, Jméno) Kompozitní

(Adresa=(Č_Domu,Ulice,PSČ)) Vícehodnotové (Vzdělání)

Page 16: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

16

Vztahy mezi entitami

Vyjadřuje souvislost (vztah, závislost) mezi entitami Název je sloveso, obvykle je možné dvojí

čtení (jazyková nikoliv konceptuální záležitost!)

Například: má, náleží, je členem, obsahuje

Page 17: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

17

Parcialita vztahu

0:0 oboustranně nepovinné členství 1:0 nepovinné členství 1:1 oboustranné povinné členství

Page 18: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

18

UML (Unified Modeling Language) industry-standard language for specifying,

visualizing, constructing, and documenting the artifacts of software systems.

Page 19: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

19

ER – Entity Relationship Model Stavební prvky ER

Zaměstnanci OdděleníPracuje_V

OdJméno

RC KO

PlatNázev

Page 20: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

20

Rozšíření ER modelu Omezení klíčem

Zaměstnanci Oddělení Řídí

OdJméno

RC KO

PlatNázev

Page 21: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

21

Rozšíření ER modelu Parcialita vztahu

Zaměstnanci Oddělení Řídí

OdJméno

RC KO

PlatNazev

Pracuje_V

Page 22: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

22

Rozšíření ER modelu Slabé entity, identifikační závislost

Zaměstnanci Pokrytí Pojistka

CenaJméno

RCpnázev

Plat Věk

Page 23: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

23

Rozšíření ER modelu

ISA-hierarchie

Zaměstnanci

Zam_mzda

Jméno RC

OHod

Plat

HMzda

Zam_Smlouva

Smlouva ISA

Page 24: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

24

ER – návrh databáze

? Entita x Atribut? Entita x Vztah? Binární x Ternární vztahy? Agregace x Ternární vztah

? Další příklady CASE Studio

Page 25: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

25

ER -> relační databáze Entita

Zaměstnanci

Jméno

RC Plat

CREATE TABLE Zamestnanci ( RC CHAR(12),

Jmeno CHAR(30),

Plat Integer,

PRIMARY KEY (RC) )

Page 26: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

26

ER -> relační databáze Relační vztah (bez omezení klíčem)

CREATE TABLE Pracuje_V ( RC CHAR(12),

KO CHAR(10),

Od DATE,

PRIMARY KEY (RC,KO)

FOREIGN KEY (RC) REFERENCES zamestnanci,

FOREIGN KEY (KO) REFERENCES oddeleni )

Page 27: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

27

ER -> relační databázeCREATE TABLE Řídí ( RC CHAR(12),

KO CHAR(10),

Od DATE,

PRIMARY KEY (KO)

FOREIGN KEY (RC) REFERENCES zamestnanci,

FOREIGN KEY (KO) REFERENCES oddeleni )

CREATE TABLE Odd-Řídí ( KO CHAR(10),

Od DATE,

RC CHAR(12),

PRIMARY KEY (KO)

FOREIGN KEY (RC) REFERENCES zamestnanci)

Page 28: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

28

ER -> relační databáze Parcialitní omezení

CREATE TABLE Ridi_Odd ( KO CHAR(12),

Nazev CHAR(30),

Od DATE,

RC CHAR(12) NOT NULL,

PRIMARY KEY (KO),

FOREIGN KEY (RC) REFERENCES zamestanaci,

ON DELETE NO ACTION)

Page 29: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

29

ER -> relační databáze Slabé entity

CREATE TABLE Pojistenci_Poj ( pnazev CHAR(12),

vek INTEGER,

Cena REAL,

RC CHAR(12),

PRIMARY KEY (pnazev,RC),

FOREIGN KEY (RC) REFERENCES zamestnanci,

ON DELETE CASCADE)

Page 30: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

30

Vztah E-R a DFDKontextový diagram

DFD 1. úroveň

DFD n-tá úroveň

Definice všech

datových prvků

ERA diagram

Specifikace procesů

popis všech funkcí s uvedením na datové prvky a s popisem podmínek vykonání funkcí

Page 31: Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční analýza DFD – Data Flow Diagram Datová analýza ER Model – Entity Relationship Model

31

Děkuji Vám za pozornost