Aplikace DBS Osnova: 1. Úvod - Co je to informační systém (IS), vazba na DBS? 1.0. Obsah přednášky 1.1. Základní pojmy databází 1.2. Komerční databázové systémy 1.3. Realizace IS 2. OLTP 2.0. Charakteristika transakčních systémů, OLTP a OLAP 2.1. SQL 2.2. Datový model 2.3. Transakční zpracování 2.4. Centralizované a distribuované databáze 3. OLAP 3.0. OLAP systémy a datové krychle 3.1. Analytické nástroje databází 3.2. Datové sklady 3.3. Dolování dat 4. Úvod do In-MemoryDataManagement LITERATURA Scheber A., Databázové systémy, Alfa 1988 Král J., Informační systémy, Science 1998, Veletiny Pour J., Dohnal J. Architektury informačních systémů, EKOPRESS 1997 Pour J., Aplikační systémy, EKOPRESS 1997 Straka M., Vývoj databázových aplikací, Grada 1992 System Integration 2001. Sborník 9. ročníku konference. (si.vse.cz) L.Lacko, Business Inteligence v SQL Serveru 2005,Reportovací, analytické a další datové služby, Computer Press 2006 Plattner H., Zeier A., In-Memory Data Management, Springer-Verlag, 2011 1 Úvod 1.1 DBS · Jazyk pro definici dat o SQL o Datové slovníky · Jazyk pro manipulaci s daty o SQL o 4 GL o Objektové jazyky ve vazbě na SQL · Databázový systém o Základní vlastnosti – uchování dat a práce s daty o Požadavky na zabezpečení a ochranu dat o Rychlost zpracování a množství dat o Více-uživatelský přístup k datům (transakčnost) o Portabilita a otevřenost · Komerční databázové systémy o DBS – praktický nástroj o Free a ShareWare o Malé DBS o Střední a velké DBS o Zabezpečení a ochrana dat – záruka za data 1.2 Co je to IS, vazba na DBS? Struktura IS Z hlediska softwarových produktů jich můžeme na trhu najít celou škálu, od operačních systémů, různých podpůrných systémů (textové editory, tabulkové procesory, antivirové produkty, ...), databázových a jiných aplikací až po hry. Nám však nepůjde o takto izolované produkty. Budeme se zabývat softwarovým vybavením, které je schopné pomoci řízení resp. řídit velké podniky komplexně. Samozřejmě základem takovýchto produktů budou systémy pro zpracování dat - Databázové systémy. Toto jádro bude pak obklopeno dalšími komponentami - systémy pošty a podpůrné systémy řízení týmové práce, knihovní systémy, systémy automatizovaného řízení výroby, grafické systémy a mapy, a další potřebné části. Takovýto celek nazýváme Informačním systémem. Realizace takového celku je velmi náročným úkolem. Nejde již o softwarové dílo jednoho nebo skupinky programátorů, zde musí spolupracovat organizovaný tým manažerů, analytiků, specialistů na HW a systémový SW a samozřejmě programátorů. Mnohé z velkých systémů se neobejdou bez spolupráce více firem. Textové pole: CRM,Textové pole: Groupware Co by mělo být hlavními kritérii pro tvorbu IS. Na prvním místě je pravidlo: Systém musí sloužit a pomáhat jeho uživatelům v jejich práci. Jakékoliv odchýlení od tohoto pravidla vede k nesouladu mezi dodavatelem a uživatelem IS. Každý nesoulad pak vede ke zpomalení a někdy dokonce k úplnému zastavení práce. Samotné uvedení systému do provozu pak často bývá i otázkou psychologického přístupu než vlastní kvality systému. Odmítání práce se systémem uživateli bývá často příčinou neúspěchu při zavádění IS. Vlastní systém též závisí na kvalitě do něj zadávaných dat. Je pravidlem, že nejvyšší kvalita dat je tam, kde uživatel je závislý na datech, která do systému vložil. Jinak řečeno, s daty dále pracuje, počítač se stává jeho pracovním nástrojem. Velmi důležitá je i přívětivost systému a snadné ovládání. Zde opět lze uvést pravidlo: Aby se systém mohl uživateli jevit jako jednoduchý, bude pravděpodobně uvnitř velmi složitý. 1.3 Základní pojmy databází 1.3.1 Entitně relační model E-R model je konceptuálním modelem, jde o popis na úrovni konceptů, nikoliv dat. V souvislosti s informačními systémy slouží k popisu reálného světa a dále se na jeho základě odvíjí popis systému na nižší (např. databázové) úrovni. Z konceptuálního E-R modelu se odvozuje relační schéma databáze. Je založena na dvou pojmech entita a vztah. Entitou (v databázové mluvě) se rozumí popsatelný a jednoznačně identifikovatelný objekt. Entity jsou pouhé abstrakce skutečných objektů a popisují se pomocí atributů. Atribut daného typu přiřazuje každé entitě hodnotu, o které se předpokládá, že je již přímo reprezentována pomocí dat. Vztahy mezi entitami mohou být také typy a mohou mít své atributy. 1.3.2 Relace Formálně lze relaci R zapsat jako n-tici (pro n ³ 2) atributů (A[1]:D[1],A[2]:D[2],…,A[n]:D[n]), kde A[i] je jméno atributu a D[i] je doména atributu (množina všech možných hodnot pro daný atribut). Protože je relace množina, musí být její prvky různé. Jména atributů jsou v rámci jedné relace různá, ale domény se mohou opakovat. Relaci popisujeme schématem relace R(A[1]:D[1],A[2]:D[2],…,A[n]:D[n]) 1.3.3 Tabulka Tabulka je používána jako reprezentace relace v databázi. Jednotlivé záznamy (řádky) v dané tabulce reprezentují n-tici relace a sloupce atributy relace (ovšem atribut zahrnuje celou doménu, kdežto sloupec pouze hodnoty v dané tabulce). Počet sloupců je ekvivalentní aritě (stupni) relace. Na rozdíl od relace může tabulka obsahovat stejné řádky (což je v realitě někdy výhodné), ale to je v rozporu s relací, kde dvě stejné n-tice nejsou dovoleny. 1.3.4 Přirozené spojení Je operace nad relacemi a jejím výsledkem je nová relace. Prvky nové relace vznikají spojením n-tic z obou relací přes rovnost hodnot na maximální množině společných atributů. Výsledná relace bude mít schéma obsahující atributy z obou relací (včetně duplicitních atributů). 1.3.5 Normální formy relací 1.NF, 2.NF, 3.NF, BCNF 2 OLTP OLTP systémy uchovávají záznamy o jednotlivých uskutečněných transakcích a jsou obvykle realizovány pomocí dnes nejběžnější, relační databázové technologie. Data uchovávaná v OLTP databázovém systému jsou (zpravidla periodicky) agregována (typicky sumarizována) a poté ukládána do da-tového skladu, nad nímž se posléze podle potřeb provádí okamžité zpracování analýz pomocí vrstvy OLAP. Shrnující přehled veškerých rozdílů je uveden v následující tabulce: Provozní databáze – OLTP Datový sklad - OLAP Koncepční rozdíly Dostat data do systému Dostat informace ze systému Uživatelé mají možnost zadávat data, měnit, rušit a číst data Uživatelé mají možnost pouze číst data Zajišťují automatizaci rutinních činností Umožňují kreativitu uživatelů při práci s daty Aplikace jsou v podstatě statické Aplikace jsou dynamické Podporují každodenní firemní aktivity Podporují dlouhodobé strategie Orientované na výkonnost Poskytují konkurenční výhodu Proces implementace a využívání je poháněn technologií Proces implementace a využívání je poháněn potřebami organizace Technologické rozdíly Zpracovávají velké objemy malých transakcí Zpracovávají malý počet komplexních dotazů Transakce neustále přidávají a aktualizují data Data se načítají dávkově Důležitým hlediskem je omezení redundance dat Důležitým hlediskem je rychlý přístup k datům pro účely analýz a prezentací Integrita dat se zajišťuje datovým modelem a aplikacemi Integrita dat se zajišťuje při dávkových procesech transformací dat Datové modely jsou optimalizované pro online aktualizace a rychlé zpracování transakcí Datové modely jsou optimalizované pro rychlé zpracování výstupů Používá se převážně normalizované relační datové modely Používá se kombinace datových modelů (normalizované a denormalizované relační modely, sumarizované tabulky, star schéma) 2.1 Datové modelování, databázové systémy · Obsah a techniky DM · Metodologie 2.1.1 Obsah a techniky DM Datový model: · Entity · Atributy · Vazby mezi entitami · Integritní omezení · Triggery · Uložené procedury Nástroje pro DM: · Grafické zobrazení · Kontrolní mechanismy (data dictionary, normalita) · Vazba na konkrétní databáze Datové modely: · Konceptuální – ERD · Fyzický – struktura databáze 2.1.2 Metodologie – datový model CDM, PDM Metodologie je souhrn postupů a metod, CO, KDO a KDY se má dělat při projektování, implementaci a řízení IS. Metoda stanovuje, CO je potřeba dělat v určité fázi projektu - např. model dat, funkční model atd. (př. Yourdon Structured Analisis Design). Technikou rozumíme způsob, JAK vytvořit to, co je dáno metodou. (př. ERA model pro datový model, TopDown pro funkční analýzu). Nástrojem je to, ČÍM realizujeme techniku, čím vyjádříme výsledek, např. data flow diagram, diagram entit a relací. Speciálním nástrojem je i CASE. Yourdon Structured Method Nejpoužívanější metodologie. Podstatou je modelování, vytváření obrazu reality specifickými prostředky. Základní charakteristiky YSM: 1. Grafičnost - grafická podpora návrhu software, větší vypovídací schopnost 2. Podpora TOPDOWN principu - dělení na podsystémy DISKRÉTNĚ - struktura lze vyjádřit STROMOVOU STRUKTUROU - vše společné jednotlivým subsystémům je obsaženo ve VYŠŠÍ ÚROVNI 3. Minimalizace redundance - použití DATA DICTIONARY 4. Poskytovat možnost předvídat chování systému - ideální je tvorba prototypu - dostačuje tvorba uživatelského rozhraní 5. Být snadno čitelný - používat jednoduché symboly YSM pokrývá fáze systému: - analýza požadavků - specifikace (popis) systému - konstrukce (design) systému - implementace YSM vytváří čtyři nezávislé modely: - datový model systému - funkční model systému - model řízení systému - model struktury programového systému Datový model Statický model systému. Zachycuje objekty a vztahy mezi nimi, např. entitně relační model. Funkční model Dynamický pohled na systém. Popisuje místa kde dochází k transfirmaci dat. Diagramy struktury funkcí, diagramy datových toků, slovní popisy funkcí. Model řízení Diagram stavů a přechodů. Diagram řídících toků. Model struktury programového systému Souhrn modulů a vazeb mezi nimi. CASE CASE - Computer Aided Software Engeneering. Jedná se o prostředky pro podporu projektování software. Podle funkčního záběru se produkty CASE dělí do tří skupin: UPPER CASE "makro" úroveň projektu popisy a plánování systémů řízení a organizace implementace teoretické metody pro návrh systémů silné prostředky pro formální prezentaci výsledků MIDDLE CASE analýza a návrhy datových struktur analýza a návrhy, případně i optimalizace funkčních struktur podpora prototypového řešení prostředky pro tvorbu dokumentace LOWER CASE automatizace kódování programů do zdrojového kódu dokumentace k programům 2.1.3 Datové modelování v nástroji PowerDesigner 2.2 Transakční zpracování V aplikacích se používá pojem transakce, což je skupina operací prováděných nad databází. Transakce musí splňovat vlastnosti ACID: o Atomicity (nedělitelnost) – transakce se tváří jako jeden celek, tedy je vykonána celá, nebo vůbec o Consistency (konzistence) – transakce může měnit databázi pouze z jednoho konzistentního stavu do druhého konzistentního stavu o Isolation (izolace) – transakce je izolovaná od probíhajících změn (jsou viditelné pouze potvrzené (commited) změny), tj. dílčí efekty transakce nejsou viditelné ostatním o