Databázové modelování Návrh databáze - cs.cas.cz - Spanek.pdf · 4 Analýza Funkční...

Post on 06-Feb-2018

226 views 0 download

transcript

1

Databázové modelování

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

2

Vytváření IS

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

Jednotlivé fáze mezi sebou iterují

3

Proč modelovat/analyzovat?

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

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

5

Funkční analýza

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

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

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

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í

9

Jednoduchý příklad kontextového diagramu

Dodavatel

Management

Dílna

Sklad

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

11

Upřesněný kontextový diagram

Dodavatel

Management

Dílna

SkladDodací list

Objednávka

Přehled spotřeby

Žádanka

Výdejka

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

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ý)

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)

15

Atributy

Jednoduché (Datum, Jméno) Kompozitní

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

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

17

Parcialita vztahu

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

18

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

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

19

ER – Entity Relationship Model Stavební prvky ER

Zaměstnanci OdděleníPracuje_V

OdJméno

RC KO

PlatNázev

20

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

Zaměstnanci Oddělení Řídí

OdJméno

RC KO

PlatNázev

21

Rozšíření ER modelu Parcialita vztahu

Zaměstnanci Oddělení Řídí

OdJméno

RC KO

PlatNazev

Pracuje_V

22

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

Zaměstnanci Pokrytí Pojistka

CenaJméno

RCpnázev

Plat Věk

23

Rozšíření ER modelu

ISA-hierarchie

Zaměstnanci

Zam_mzda

Jméno RC

OHod

Plat

HMzda

Zam_Smlouva

Smlouva ISA

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

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) )

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 )

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)

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)

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)

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í

31

Děkuji Vám za pozornost