informaČnÍ systÉmy

52
INFORMAČNÍ SYSTÉMY DATABÁZE V INFORMAČNÍCH SYSTÉMECH Ing. Roman Danel, Ph.D. [email protected] Institut ekonomiky a systémů řízení Hornicko – geologická fakulta

Upload: mizell

Post on 20-Jan-2016

32 views

Category:

Documents


0 download

DESCRIPTION

INFORMAČNÍ SYSTÉMY. DATABÁZE V INFORMAČNÍCH SYSTÉMECH. Ing. Roman Danel, Ph.D . roman.danel @ vsb.cz Institut ekonomiky a systémů řízení Hornicko – geologická fakulta. Proč databáze?. Každý informační systém pracuje s informacemi (a tedy s daty). Data musí být někde uložena -> databáze. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: INFORMAČNÍ SYSTÉMY

INFORMAČNÍ SYSTÉMY

DATABÁZE

V INFORMAČNÍCH SYSTÉMECH

Ing. Roman Danel, [email protected]

Institut ekonomiky a systémů řízení

Hornicko – geologická fakulta

Page 2: INFORMAČNÍ SYSTÉMY

Proč databáze?

Každý informační systém pracuje s informacemi (a tedy s daty).

Data musí být někde uložena -> databáze.

Page 3: INFORMAČNÍ SYSTÉMY

Co se dozvíte v této přednášce?

• Opakování pojmu z databázových systémů

• Co je to relační databáze?

• Integrita, transakce, normalizace

• Modelování - ERD, DFD, STD

• Jaké jsou teoretické základy relačního modelu

• Objektově-orientovaný model

Page 4: INFORMAČNÍ SYSTÉMY

Návrh databázového systému

Základem úspěšného fungování informačního systému je návrh databáze.

V rámci životního cyklu informačního systému, v jeho úvodní fázi, kdy je systém vytvářen, je vytvářen také návrh databáze (volba typu, návrh její struktury, způsob práce, řešení efektivity…)

Page 5: INFORMAČNÍ SYSTÉMY

Databázové systémy

Historie:– Manuální systémy– Agendové systémy– Hierarchický model – data v stromové struktuře;

rodič-potomek– Síťový model – zobecnění o mnohonásobné

vztahy– Relační model– Objektově orientovaný model– Objektově relační

Page 6: INFORMAČNÍ SYSTÉMY

Základní návrh databáze vzniká v analytické fázi vzniku informačního systému.

Analýza – studium problému před zahájením řešení.

Page 7: INFORMAČNÍ SYSTÉMY

Úroveň databázového modelu z hlediska abstrakce

• Konceptuální model

• Logický model

• Fyzický datový model – konkrétní db systém

Page 8: INFORMAČNÍ SYSTÉMY

Návrh databázového systému

Základní modely vedoucí k návrhu databázového systému jsou:

- Datové modelování (ERD)

- Funkční modelování (DFD)

- Časová (dynamická) analýza (STD)

Page 9: INFORMAČNÍ SYSTÉMY

Entitně relační 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.

Page 10: INFORMAČNÍ SYSTÉMY

Datové modelování - ERD

• Entita

• Atribut

• Relace – vztah mezi dvěma entitami

• Kardinalita vztahu – mocnost vztahu mezi entitami: 1:1, 1:N, N:1, M:N

Vztah je informace, kterou si systém musí pamatovat, nelze ji odvodit.

Page 11: INFORMAČNÍ SYSTÉMY

Postup tvorby ERD

a) Pojmenování logických jednotek (entity, atributy)

b) Popis vztahů mezi entitami

c) Stanovení pravidel integrity

Page 12: INFORMAČNÍ SYSTÉMY

ERD – Entitně relační diagramy

Notace ERD:

Chen – klasická notace - obdélníky pro znázornění entit a kosočtverce pro znázornění vztahů

Coad - Yourdon

DeMarco

Page 14: INFORMAČNÍ SYSTÉMY

Data Flow Diagram - DFD

Cílem DFD je modelování (v grafické podobě) datových nebo řídicích toků v systému.

DFD diagramy popisují funkce systému.

DeMarco notace.

Page 15: INFORMAČNÍ SYSTÉMY

DFD

Proces (funkce) – provádí transformaci vstupních dat na výstupní.

Procesy – datové a řídicí

Každý proces má název (měl by vyjadřovat činnost).

Page 16: INFORMAČNÍ SYSTÉMY

Prvky DFD

• Datový tok – vyjadřuje přesun informací

• Datový sklad – místo dočasného uchování dat

• Funkce (proces)

• Terminátor – externí zdroj dat nebo místo určení dat

Page 17: INFORMAČNÍ SYSTÉMY

Grafická podoba DFD

Terminátor

Proces

Datový sklad

Datový tok

Page 18: INFORMAČNÍ SYSTÉMY

Postup vytvoření DFD

Kontextový diagram – nejvyšší úroveň – jediný proces který reprezentuje celý systém

Dekompozice DFD na nižší úrovně až na úroveň základních elementárních funkcí.

• Nesmí existovat proces, který nemá žádné vstupy a přesto produkuje datové toky

• Nesmí existovat proces, který pouze spotřebovává data a nemá výstupy

Page 19: INFORMAČNÍ SYSTÉMY

DFD

• Účelem kontextového diagramu je zachytit vztah systému k jeho okolí

Page 20: INFORMAČNÍ SYSTÉMY

Příklad – kontextový model

Důlní závod

Úpravna

OŘKJ

Expedice(výpravna)

řízeníodbytu

obchodníorganizace

OKD doprava

odštěpný důlní závod externí organizace

veřejnýpřepravce

Page 21: INFORMAČNÍ SYSTÉMY

Příklad – DFD

vozy

přepravce

program nakládky

obchodníspolečnost

a důlnípodnik

seznamloženýchodběratelů přiřazení

váženík vozu průměrování

a přiřazeník vozu

tvorbaprogramunakládky

vážení

objednávkavozů

přistavenívozů

operativníměření

jakostníchparametrů

zásoby

Page 22: INFORMAČNÍ SYSTÉMY

Stavový diagram (STD)

Stavový diagram (STD – State Transition Diagram) – obsahuje sled stavů, v jakém se systém může nacházet a za jakých podmínek může dojít ke změně stavu.

Stavy jsou statické, změna stavu je většinou důsledek nějaké události.

Vyjádření – např. vývojové diagramy

Page 23: INFORMAČNÍ SYSTÉMY

STD

Událost z okolí může být následující:– F (Flow oriented) : datová událost, odvozená

od vstupu do systému– T (Temporary) : časová událost, odvozená od

časového okamžiku. Vyvolá činnost, která se má např. konat pravidelně.

– C (Control) : řídicí událost, odvozená od povelu.

Page 24: INFORMAČNÍ SYSTÉMY

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

• Přístup jen ke čtení

Page 25: INFORMAČNÍ SYSTÉMY

Databázový model

Model systému = ERD + DFD + STD + DD

Page 26: INFORMAČNÍ SYSTÉMY

Dále se podíváme na:

• SQL

• Množinové operace

• Normalizace

• Integrita

• Transakční zpracování

Page 27: INFORMAČNÍ SYSTÉMY

Databázové pojmy

• Redundance

• Integrita, konzistence

• Efektivita - dosažitelnost

Page 28: INFORMAČNÍ SYSTÉMY

SQL (Structure Query Language)

Deklarativní jazky

SQL příkazy:

DDL – vytváření objektů

DML – manipulace s daty

Page 29: INFORMAČNÍ SYSTÉMY

SQL

Normy:– SQL86– SQL89 – přidána referenční integrita– SQL92– SQL99 – rozšíření o OOP

Page 30: INFORMAČNÍ SYSTÉMY

Množiny a SQL

Každá tabulka v databázi je množina.

Každý řádek tabulky je člen dané množiny.

SQL – operace nad množinami

Page 31: INFORMAČNÍ SYSTÉMY

Množinové operace

• Sjednocení - zkombinování (UNION ALL)

• Průnik – nalezení společných prvků (INTERSECT)

• Množinový rozdíl (OUTER JOIN)

• Symetrický rozdíl

• Kartézský (direktní) součin

• Projekce, Restrikce

Page 32: INFORMAČNÍ SYSTÉMY

Normalizace

Cílem normalizace je dosažení ideální struktury dat.

Normalizace se snaží vytvořit relační model pro uložení dat, který minimalizuje datovou redundanci při zachování datové integrity.

Page 33: INFORMAČNÍ SYSTÉMY

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íčové položky jsou závislé na celém PK

3 NF – vylučuje tranzitivní (přenesené) závislosti

1st ≤ 2nd ≤ 3rd ≤ BCNF

Page 34: INFORMAČNÍ SYSTÉMY

Příklad – 1 NF

Příkladem by mohla být entita „Objednávka", která bude obsahovat atributy „Objednávka Číslo", „Datum", „ZbožíID1", „ZbožíID2", „ZbožíID3", „Množství1", „Množství2" a „Množství3".

Skupina atributů „ZbožíID" a „Množství" se zde třikrát opakuje, entita tedy nevyhovuje první normální formě.

Page 35: INFORMAČNÍ SYSTÉMY

Příklad 2NF

Představme si entitu „Faktura" s atributy „FakturaČíslo", „DatumSplatnosti", „ZbožíID“, „Množství".

V takovéto entitě je klíčem kombinace atributů „FakturaČíslo" a „ZbožíID" (jedná se tedy o složený klíč). Atribut „DatumSplatnosti" je ale závislý pouze na atributu „FakturaČíslo" a ne na celém kandidátním klíči a proto taková entita není ve druhé normální formě.

Page 36: INFORMAČNÍ SYSTÉMY

Příklad – 3NF

„ObjednávkaČíslo", „ŘádekČíslo", „ZbožíID", „Název zboží" a „Množství".

Takováto entita není ve třetí normální formě, protože atribut „NázevZboží" je funkčně závislý na atributu „ZbožíID", nikoliv na kandidátním klíči, kterým je v tomto případě kombinace atributů „ObjednávkaČíslo„ a „ŘádekČíslo„.

Entita tedy nevyhovuje 3 NF.

Page 37: INFORMAČNÍ SYSTÉMY

Denormalizace

• Ne vždy je ideální maximální normalizace – důsledná normalizace může snižovat rychlost zpracování

• Denormalizace – agregovaná data, předpřipravené hodnoty pro sestavy – zrychlují výstupy

Page 38: INFORMAČNÍ SYSTÉMY

Integrita

• Entitní– PK – jednoznačná identifikace entity + nesmí

být hodnota NULL

• Referenční– FK – null nebo hodnota v sloupci na který se

odkazuje

Page 39: INFORMAČNÍ SYSTÉMY

Referenční integrita

• restriktivníNelze smazat nadřízený záznam, pokud na něj existuje odkaz z nějakého podřízeného záznamu.

• set nullPokud smažeme nadřízený záznam, v podřízeném záznamu se hodnota cizího klíče nastaví na NULL.

• kaskádováPokud smažeme nadřízený záznam, smažou se i všechny podřízené záznamy, které se na něho odkazují.

Page 40: INFORMAČNÍ SYSTÉMY

Transakční zpracování

Transakce – sled operací, které musíme vykonat, abych dosáhli cíle a přitom databáze zůstala konzistentní.

Konzistence může být porušena např. při paralelním zpracování více SQL příkazů, které pracují nad stejnými daty.

Transakce může proběhnout jako celek nebo vůbec.

Vlastnosti transakce: A C I DUkončení transakce: COMMIT nebo ROLLBACK

Page 41: INFORMAČNÍ SYSTÉMY

Systémy založené na transakčním zpracování označujeme jako OLTP.

Page 42: INFORMAČNÍ SYSTÉMY

Vztahy mezi tabulkami

• Databáze obsahuje řadu tabulek

• Všechny tabulky spolu nemusí souviset

• Tabulky, které jsou ve vzájemném vztahu, vytvářejí schéma

• Databáze může obsahovat několik schémat

Page 43: INFORMAČNÍ SYSTÉMY

Datové modelování a OOP

Page 44: INFORMAČNÍ SYSTÉMY

Datové modelování

Datové modelování je specifická část softwarového inženýrství (není to programování, ale ani pouhé kreslení diagramů).

Cílem datového modelování je převod reálných objektů na datové objekty.

Page 45: INFORMAČNÍ SYSTÉMY

Teoretické základy

• Teorie množin

• Turingův stroj - zařízení manipulující s buňkami v paměti a používající instrukce

• Kleen, Hilbert – rekurzivní funkce

• Lambda-kalkul (A. Church) – nástroj k zápisu a manipulaci s počítačovým kódem

Page 46: INFORMAČNÍ SYSTÉMY

Objektově orientovaný přístup

• Základem je „objekt“ – modeluje nějakou část reálného světa

• Objekty dokážou reagovat na požadavky (zprávy), které jim zasíláme

• Objekty v sobě uchovávají údaje – vnitřní data (Properties) a dále uchovávají operace, které lze prostřednictvím zpráv spouštět (metody)

Page 47: INFORMAČNÍ SYSTÉMY

Vlastnosti

• Objekt je pro nás „černou skříňkou – zajímá nás co dělá, ne z čeho se skládá (zapouzdření neboli encapsulation)

• Dědičnost (možnost vytvářet instance)

• Polymorfismus – vlastnost, která může mít více implementací

• Rozhraní (interface) = skupina metod, které jsou k dispozici

Page 48: INFORMAČNÍ SYSTÉMY

OOP

Dvě koncepce:– Čisté OOP – ideální pro programování a

datové modelování, ale obtížná praktická realizace (SmallTalk)

– Smíšená – ztrátou některých abstraktních vlastností OOP docílíme zjednodušení implementace (Př. Java, C++)

Page 49: INFORMAČNÍ SYSTÉMY

Relační a OO model

Relační model – prvky reálného světa se snažíme zobrazit do pevných předem připravených struktur

OO model – pro prvky reálného světa vytváříme objekty, které se jim podobají

Page 50: INFORMAČNÍ SYSTÉMY

Rozhraní

• Co je to rozhraní?

– ODBC (Open DataBase Connectivity) – API pro přístup k databázovým systémům

– ADO (ActiveX Data Objects) – COM pro přístup na data; Microsoft

– JDBC (Java Database Connectivity)

Page 51: INFORMAČNÍ SYSTÉMY

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

Page 52: INFORMAČNÍ SYSTÉMY

Shrnutí

• Opakování pojmů z databázových systémů: relace, entita, atribut, integrita, PK, FK, kardinalita, normalizace

• Co je to relační databáze?

• Jaké známe jiné typy databází?

• Datový model – konceptuální, logický, fyzický

• Datové modelování – ERD, DFD, STD