DATABÁZE V INFORMAČNÍCH SYSTÉMECH

Slides:



Advertisements
Podobné prezentace
Stručný úvod do UML.
Advertisements

Úvod do databázových systémů
Přednáška č. 1 Úvod, Historie zpracování dat, Základní pojmy
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Ing. Monika Šimková. Máme-li data reprezentovat v databázi, jak vybereme jejich strukturu na konceptuální úrovni? Konceptuální modelování analyzuje požadavky.
Databáze.
Microsoft Office Access
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Přednáška č. 5 Proces návrhu databáze
Pojmy z ERD.
YDASYS Ing. Monika Šimková.
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
A4B33DS & X33MIS Zdeněk Kouba
Strukturovaná analýza a návrh
Úvod do databází Databáze.
1IT Relační datový model
Úvod do databázových systémů
Databáze Jiří Kalousek.
Konceptuální datové modelování
1IT S ÍŤOVÝ DATOVÝ MODEL Ing. Jiří Šilhán. S ÍŤOVÝ DATOVÝ MODEL Je historicky nejstarším datovým modelem. Jeho základem jsou vzájemně propojené množiny.
Analýza informačního systému
KONCEPTUÁLNÍ MODELOVÁNÍ
D ATOVÉ MODELY Ing. Jiří Šilhán. D ATABÁZOVÉ SYSTÉMY Patří vedle textových editorů a tabulkových kalkulátorů k nejrozšířenějším představitelům programového.
DATOVÉ MODELY (c) Tralvex Yeap. All Rights Reserved.
Databázové systémy přednáška+cvičení
13AMP 9. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled ADA ADA Java Java.
Fakulta elektrotechniky a informatiky
Relační databáze.
Normalizace.
Konceptuální návrh databáze
Vypracoval: Ondřej Dvorský Třída: VIII.A
Základní pojmy Systém je abstrakce, kterou si lidé vytvářejí v procesu poznávání jako nástroj zkoumání reálných objektů.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
Informatika pro ekonomy II přednáška 10
Databázové systémy Přednáška č. 4 Proces návrhu databáze.
SQL – základní pojmy Ing. Roman Danel, Ph.D.
ZÁKLADY INFORMATIKY DATABÁZOVÉ SYSTÉMY Ing. Roman Danel, Ph.D. Institut ekonomiky a systémů řízení Hornicko – geologická fakulta.
Dokumentace informačního systému
Databázové systémy Přednáška č. 4.
Konceptuální návrh databáze
Analýza infromačního systému. Matice afinity ISUD matice – Insert (vkládání dat) – Select (výběr dat) – Update (aktualizace dat) – Delete (vymazání dat)
Databázové modelování
Databázové systémy Relační model.
Access Vysvětlení pojmu databáze - 01
State Transition Diagram a model řízení 5.Cvičení IS/IT.
Databázové systémy Informatika pro ekonomy, př. 18.
Aplikační a programové vybavení
Analýza informačního systému. Podrobně zdokumentovaný cílový stav Paramentry spojené s provozem systému – Cena – Přínosy – Náklady a úspory – …
Databázové systémy Datové modely.
Databázové systémy Normalizace dat.
Databázové systémy Úvod, Základní pojmy. Úvod S rozvojem lidského poznání roste prudce množství informací. Jsou kladeny vysoké požadavky na ukládání,
Návrh struktury - normalizace
DATABÁZE.
24 Používání relačních databází (základní pojmy a principy z oblasti relačních databází, struktura databáze,oblasti použití relačních databází, vkládání.
Úvod do databází zkrácená verze.
● Databaze je soubor dat,slouží pro popis reálného světa(např.evidence čkolní knihovny..) ● Relační databaze je databáze založená na relačním modelu.
Databázové systémy Ing. Roman Danel, Ph.D. Institut ekonomiky a systémů řízení Hornicko – geologická fakulta.
ANALÝZA IS. Životní cyklus IS Specifikace problému, požadavků (studijní fáze) Analýza Návrh Implementace (realizace) Zavedení (instalace) a testování.
Databáze ● úložiště dat s definovaným přístupem ● typy struktury – strom, sekvence, tabulka ● sestává z uspořádaných záznamů ● databáze – struktura – záznam.
Databázové systémy Roman Danel Institut ekonomiky a systémů řízení 2016.
Úvod do databázových systémů
Databázové systémy přednáška 4 – ERD
Výpočetní technika Akademický rok 2008/2009 Letní semestr
Databázové systémy 1 – KIT/IDAS1 Ing. Monika Borkovcová, Ph.D.
Informatika pro ekonomy přednáška 8
Geografické informační systémy
Databázové systémy UIN010
Analýza informačního systému
Transkript prezentace:

DATABÁZE V INFORMAČNÍCH SYSTÉMECH 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.

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

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

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í

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

Úroveň databázového modelu z hlediska abstrakce Konceptuální model Logický model Fyzický datový model – konkrétní db systém

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)

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.

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.

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

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

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.

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.

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

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

Grafická podoba DFD Terminátor Proces Datový sklad Datový tok

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

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

Příklad – kontextový model

Příklad – DFD

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

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.

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í

Model systému = ERD + DFD + STD + DD Databázový model Model systému = ERD + DFD + STD + DD

Dále se podíváme na: SQL Množinové operace Normalizace Integrita Transakční zpracování

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

SQL (Structure Query Language) Deklarativní jazky SQL příkazy: DDL – vytváření objektů DML – manipulace s daty

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

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

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

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.

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

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

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

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.

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

Integrita Entitní Referenční PK – jednoznačná identifikace entity + nesmí být hodnota NULL Referenční FK – null nebo hodnota v sloupci na který se odkazuje

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 null Pokud 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í.

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 D Ukončení transakce: COMMIT nebo ROLLBACK

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

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

Datové modelování a OOP

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.

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

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)

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

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

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í

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)

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

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