INFORMACN - PowerPoint PPT Presentation

About This Presentation
Title:

INFORMACN

Description:

INFORMA N SYST MY DATAB ZE V INFORMA N CH SYST MECH Ing. Roman Danel, Ph.D. roman.danel_at_vsb.cz Institut ekonomiky a syst m zen Hornicko ... – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 53
Provided by: DaneL
Category:

less

Transcript and Presenter's Notes

Title: INFORMACN


1
INFORMACNÍ SYSTÉMY
  • DATABÁZE
  • V INFORMACNÍCH SYSTÉMECH

Ing. Roman Danel, Ph.D. roman.danel_at_vsb.cz Institu
t ekonomiky a systému rízení Hornicko
geologická fakulta
2
Proc databáze?
  • Každý informacní systém pracuje s informacemi (a
    tedy s daty).
  • Data musí být nekde uložena -gt databáze.

3
Co se dozvíte v této prednášce?
  • Opakování pojmu z databázových systému
  • Co je to relacní databáze?
  • Integrita, transakce, normalizace
  • Modelování - ERD, DFD, STD
  • Jaké jsou teoretické základy relacního modelu
  • Objektove-orientovaný model

4
Návrh databázového systému
  • Základem úspešného fungování informacního systému
    je návrh databáze.
  • V rámci životního cyklu informacního systému, v
    jeho úvodní fázi, kdy je systém vytváren, je
    vytváren také návrh databáze (volba typu, návrh
    její struktury, zpusob práce, rešení efektivity)

5
Databázové systémy
  • Historie
  • Manuální systémy
  • Agendové systémy
  • Hierarchický model data v stromové strukture
    rodic-potomek
  • Sítový model zobecnení o mnohonásobné vztahy
  • Relacní model
  • Objektove orientovaný model
  • Objektove relacní

6
  • Základní návrh databáze vzniká v analytické fázi
    vzniku informacního systému.
  • Analýza studium problému pred zahájením rešení.

7
Úroven databázového modelu z hlediska abstrakce
  • Konceptuální model
  • Logický model
  • Fyzický datový model konkrétní db systém

8
Návrh databázového systému
  • Základní modely vedoucí k návrhu databázového
    systému jsou
  • Datové modelování (ERD)
  • Funkcní modelování (DFD)
  • Casová (dynamická) analýza (STD)

9
Entitne relacní diagramy - ERD
  • ER diagramy slouží k struktury databáze.
  • Cílem ERD je zmapovat data ukládaná do databáze a
    jejich vzájemné vztahy.

10
Datové modelování - ERD
  • Entita
  • Atribut
  • Relace vztah mezi dvema entitami
  • Kardinalita vztahu mocnost vztahu mezi
    entitami 11, 1N, N1, MN
  • Vztah je informace, kterou si systém musí
    pamatovat, nelze ji odvodit.

11
Postup tvorby ERD
  • Pojmenování logických jednotek (entity, atributy)
  • Popis vztahu mezi entitami
  • Stanovení pravidel integrity

12
ERD Entitne relacní diagramy
  • Notace ERD
  • Chen klasická notace - obdélníky pro znázornení
    entit a kosoctverce pro znázornení vztahu
  • Coad - Yourdon
  • DeMarco

13
Nástroje ERD
  • Avolution, ConceptDraw, ER/Studio, ERwin, DeZign
    for Databases, MEGA International, OmniGraffle,
    Oracle Designer, PowerDesigner, Rational Rose,
    RISE Editor, SmartDraw, Sparx Enterprise
    Architect, SQLyog, Toad Data Modeler, Microsoft
    Visio, Visual Paradigm, Kivio nebo Dia.

14
Data Flow Diagram - DFD
  • Cílem DFD je modelování (v grafické podobe)
    datových nebo rídicích toku v systému.
  • DFD diagramy popisují funkce systému.
  • DeMarco notace.

15
DFD
  • Proces (funkce) provádí transformaci vstupních
    dat na výstupní.
  • Procesy datové a rídicí
  • Každý proces má název (mel by vyjadrovat
    cinnost).

16
Prvky DFD
  • Datový tok vyjadruje presun informací
  • Datový sklad místo docasného uchování dat
  • Funkce (proces)
  • Terminátor externí zdroj dat nebo místo urcení
    dat

17
Grafická podoba DFD
Terminátor
Proces
Datový sklad
Datový tok
18
Postup vytvorení DFD
  • Kontextový diagram nejvyšší úroven jediný
    proces který reprezentuje celý systém
  • Dekompozice DFD na nižší úrovne až na úroven
    základních elementárních funkcí.
  • Nesmí existovat proces, který nemá žádné vstupy a
    presto produkuje datové toky
  • Nesmí existovat proces, který pouze spotrebovává
    data a nemá výstupy

19
DFD
  • Úcelem kontextového diagramu je zachytit vztah
    systému k jeho okolí

20
Príklad kontextový model
21
Príklad DFD
22
Stavový diagram (STD)
  • Stavový diagram (STD State Transition Diagram)
    obsahuje sled stavu, v jakém se systém muže
    nacházet a za jakých podmínek muže dojít ke zmene
    stavu.
  • Stavy jsou statické, zmena stavu je vetšinou
    dusledek nejaké události.
  • Vyjádrení napr. vývojové diagramy

23
STD
  • Událost z okolí muže být následující
  • F (Flow oriented) datová událost, odvozená od
    vstupu do systému
  • T (Temporary) casová událost, odvozená od
    casového okamžiku. Vyvolá cinnost, která se má
    napr. konat pravidelne.
  • C (Control) rídicí událost, odvozená od povelu.

24
Datový slovník (Data Dictionary)
  • Datový slovník slouží k formalizovanému popisu
    dat systému z pohledu uživatele.
  • Metadata data o datech
  • Spravuje databázový stroj
  • Prístup jen ke ctení

25
Databázový model
  • Model systému ERD DFD STD DD

26
Dále se podíváme na
  • SQL
  • Množinové operace
  • Normalizace
  • Integrita
  • Transakcní zpracování

27
Databázové pojmy
  • Redundance
  • Integrita, konzistence
  • Efektivita - dosažitelnost

28
SQL (Structure Query Language)
  • Deklarativní jazky
  • SQL príkazy
  • DDL vytvárení objektu
  • DML manipulace s daty

29
SQL
  • Normy
  • SQL86
  • SQL89 pridána referencní integrita
  • SQL92
  • SQL99 rozšírení o OOP

30
Množiny a SQL
  • Každá tabulka v databázi je množina.
  • Každý rádek tabulky je clen dané množiny.
  • SQL operace nad množinami

31
Množinové operace
  • Sjednocení - zkombinování (UNION ALL)
  • Prunik nalezení spolecných prvku (INTERSECT)
  • Množinový rozdíl (OUTER JOIN)
  • Symetrický rozdíl
  • Kartézský (direktní) soucin
  • Projekce, Restrikce

32
Normalizace
  • Cílem normalizace je dosažení ideální struktury
    dat.
  • Normalizace se snaží vytvorit relacní model pro
    uložení dat, který minimalizuje datovou
    redundanci pri zachování datové integrity.

33
Normální formy db
  • Existují tzv. normální formy.
  • 1 NF záznam neobsahuje žádnou opakující se
    položku
  • 2 NF záznam má pouze PK a neklícové položky
    jsou závislé na celém PK
  • 3 NF vylucuje tranzitivní (prenesené)
    závislosti

1st 2nd 3rd BCNF
34
Príklad 1 NF
  • Príkladem by mohla být entita Objednávka", která
    bude obsahovat atributy Objednávka Císlo",
    Datum", ZbožíID1", ZbožíID2", ZbožíID3",
    Množství1", Množství2" a Množství3".
  • Skupina atributu ZbožíID" a Množství" se zde
    trikrát opakuje, entita tedy nevyhovuje první
    normální forme.

35
Príklad 2NF
  • Predstavme si entitu Faktura" s atributy
    FakturaCíslo", DatumSplatnosti", ZbožíID,
    Množství".
  • V takovéto entite je klícem kombinace atributu
    FakturaCíslo" a ZbožíID" (jedná se tedy o
    složený klíc). Atribut DatumSplatnosti" je ale
    závislý pouze na atributu FakturaCíslo" a ne na
    celém kandidátním klíci a proto taková entita
    není ve druhé normální forme.

36
Príklad 3NF
  • ObjednávkaCíslo", RádekCíslo", ZbožíID",
    Název zboží" a Množství".
  • Takováto entita není ve tretí normální forme,
    protože atribut NázevZboží" je funkcne závislý
    na atributu ZbožíID", nikoliv na kandidátním
    klíci, kterým je v tomto prípade kombinace
    atributu ObjednávkaCíslo a RádekCíslo.
  • Entita tedy nevyhovuje 3 NF.

37
Denormalizace
  • Ne vždy je ideální maximální normalizace
    dusledná normalizace muže snižovat rychlost
    zpracování
  • Denormalizace agregovaná data, predpripravené
    hodnoty pro sestavy zrychlují výstupy

38
Integrita
  • Entitní
  • PK jednoznacná identifikace entity nesmí být
    hodnota NULL
  • Referencní
  • FK null nebo hodnota v sloupci na který se
    odkazuje

39
Referencní integrita
  • restriktivníNelze smazat nadrízený záznam, pokud
    na nej existuje odkaz z nejakého podrízeného
    záznamu.
  • set nullPokud smažeme nadrízený záznam, v
    podrízeném záznamu se hodnota cizího klíce
    nastaví na NULL.
  • kaskádováPokud smažeme nadrízený záznam, smažou
    se i všechny podrízené záznamy, které se na neho
    odkazují.

40
Transakcní zpracování
  • Transakce sled operací, které musíme vykonat,
    abych dosáhli cíle a pritom databáze zustala
    konzistentní.
  • Konzistence muže být porušena napr. pri
    paralelním zpracování více SQL príkazu, které
    pracují nad stejnými daty.
  • Transakce muže probehnout jako celek nebo vubec.
  • Vlastnosti transakce A C I D
  • Ukoncení transakce COMMIT nebo ROLLBACK

41
  • Systémy založené na transakcním zpracování
    oznacujeme jako OLTP.

42
Vztahy mezi tabulkami
  • Databáze obsahuje radu tabulek
  • Všechny tabulky spolu nemusí souviset
  • Tabulky, které jsou ve vzájemném vztahu,
    vytvárejí schéma
  • Databáze muže obsahovat nekolik schémat

43
  • Datové modelování a OOP

44
Datové modelování
  • Datové modelování je specifická cást softwarového
    inženýrství (není to programování, ale ani pouhé
    kreslení diagramu).
  • Cílem datového modelování je prevod reálných
    objektu na datové objekty.

45
Teoretické základy
  • Teorie množin
  • Turinguv stroj - zarízení manipulující s bunkami
    v pameti a používající instrukce
  • Kleen, Hilbert rekurzivní funkce
  • Lambda-kalkul (A. Church) nástroj k zápisu a
    manipulaci s pocítacovým kódem

46
Objektove orientovaný prístup
  • Základem je objekt modeluje nejakou cást
    reálného sveta
  • Objekty dokážou reagovat na požadavky (zprávy),
    které jim zasíláme
  • Objekty v sobe uchovávají údaje vnitrní data
    (Properties) a dále uchovávají operace, které lze
    prostrednictvím zpráv spouštet (metody)

47
Vlastnosti
  • Objekt je pro nás cernou skrínkou zajímá nás
    co delá, ne z ceho se skládá (zapouzdrení neboli
    encapsulation)
  • Dedicnost (možnost vytváret instance)
  • Polymorfismus vlastnost, která muže mít více
    implementací
  • Rozhraní (interface) skupina metod, které jsou
    k dispozici

48
OOP
  • Dve koncepce
  • Cisté OOP ideální pro programování a datové
    modelování, ale obtížná praktická realizace
    (SmallTalk)
  • Smíšená ztrátou nekterých abstraktních
    vlastností OOP docílíme zjednodušení implementace
    (Pr. Java, C)

49
Relacní a OO model
  • Relacní model prvky reálného sveta se snažíme
    zobrazit do pevných predem pripravených struktur
  • OO model pro prvky reálného sveta vytváríme
    objekty, které se jim podobají

50
Rozhraní
  • Co je to rozhraní?
  • ODBC (Open DataBase Connectivity) API pro
    prístup k databázovým systémum
  • ADO (ActiveX Data Objects) COM pro prístup na
    data Microsoft
  • JDBC (Java Database Connectivity)

51
Literatura
  • Straka, M. Vývoj databázových aplikací, GRADA
    1992
  • Šarmanová, J. Teorie zpracování dat, skripta
    VŠB, Ostrava 1997
  • Gruber, M. Mistrovství v SQL, 2 díly, SoftPress
    2004
  • Merunka, V Datové modelování, Alfa Publishing
    2006
  • Wesley, A. Myslíme v jazyku SQL, Grada 2004

52
Shrnutí
  • Opakování pojmu z databázových systému relace,
    entita, atribut, integrita, PK, FK, kardinalita,
    normalizace
  • Co je to relacní databáze?
  • Jaké známe jiné typy databází?
  • Datový model konceptuální, logický, fyzický
  • Datové modelování ERD, DFD, STD
Write a Comment
User Comments (0)
About PowerShow.com