Ukládání dat aneb kam s nimi? souborová—databázová koncepce

Slides:



Advertisements
Podobné prezentace
Nový přístup k aplikacím Vema
Advertisements

Tabulky v MS ACCESS Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Mgr. Jiří Novák.
Základy 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
Aplikační a programové vybavení
Jazyk SQL Ing. Zdena DOBEŠOVÁ. SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma.
Databáze.
Microsoft Office Access
Business intelligence
 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
Souborové systémy.
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.
Metody zpracování vybraných témat (projektů)
Úvod do databází Databáze.
1IT Relační datový model
Databáze Jiří Kalousek.
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.
Transakční systémy Transakční systémy
Databáze Úvod.
Adresářová služba Active directory
Analýza informačního systému
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.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
DATOVÉ MODELY (c) Tralvex Yeap. All Rights Reserved.
Architektura databází Ing. Dagmar Vítková. Centrální architektura V této architektuře jsou data i SŘBD v centrálním počítači. Tato architektura je typická.
Základy informatiky část 5. 5 Databáze Databáze – historie Nejprve děrné štítky Hollerith – sčítání lidu USA Univac Zdroj: Wikipedia.
Relační databáze.
Vypracoval: Ondřej Dvorský Třída: VIII.A
Základy informatiky část 5
Databázové systémy. Práce s daty Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace.
Databázové systémy Architektury DBS.
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 II Přednáška č. 9. Transakce je logická jednotka práce sestávající z jednoho nebo více SQL příkazů, které jsou atomické z hlediska.
Databáze.
Ukládání heterogenních dat pomocí rozvolněných objektů Michal Žemlička.
DATABÁZOVÉ SYSTÉMY. 2 DATABÁZOVÝ SYSTÉM SYSTÉM ŘÍZENÍ BÁZE DAT (SŘBD) PROGRAM KTERÝ ORGANIZUJE A UDRŽUJE NASHROMÁŽDĚNÉ INFORMACE DATABÁZOVÁ APLIKACE PROGRAM.
Databázové modelování
Access Vysvětlení pojmu databáze - 01
Databázové systémy Informatika pro ekonomy, př. 18.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B13 Autor Ing. Jiří Kalousek Období vytvoření březen.
Databázové systémy 2 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Datovýsklad Datový sklad V budoucích službách státního archivu.
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 Přednáška č. 5 Datové typy a Fyzická organizace dat.
MS ACCESS Databáze pro každého. Základní pojmy  Data  určitá fakta, vztahující se k objektům z reálného světa, uložená v paměti počítače  Informace.
Databázové systémy Normalizace dat.
Kontakty slajdy: ftp://ulita.ms.mff.cuni.cz/predn/POS.
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í,
Perzistence XML dat Kamil Toman
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í.
Využití sestavy Zobrazení a typy Části sestavy Vytvoření sestavy Ovládací prvky.
Úvod do databází zkrácená verze.
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.
Základní škola T. G. Masaryka a Mateřská škola Poříčany, okr. Kolín VY_32_INOVACE_ICT_04 ORGANIZACE DAT V PC Zpracovala: Mgr. Květoslava Štikovcová Číslo.
Ukládání dat biodiverzity a jejich vizualizace
Unix a Internet 9. SQL server
Vlastnosti souborů Jaroslava Černá.
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
Databázové systémy přednáška 13 – Analýza a reporting
Návrhový vzor Flyweight
Informatika pro ekonomy přednáška 8
Správa disků
Základy business intelligence Jaroslav Šmarda
Vytvořil: Robert Döring
Transkript prezentace:

Ukládání dat aneb kam s nimi? souborová—databázová koncepce

Souborová koncepce Data jsou uložena v izolovaných souborech. S každým souborem pracuje určitá aplikace Možné operace: Vytvořit, otevřít, zavřít, zrušit Čtení souboru Zápis do souboru, úpravy Vytvoření kopií a verzí souboru

Souborová koncepce – výhody Jednoduché pořízení (nahrajeme do adresáře) Snadné naplnění (kopírování mezi složkami) Pocit přehlednosti (při menší velikosti data přehlédneme, při větším počtu – viz nevýhody) Jednoduché pořízení (nahrajeme do adresáře) Snadné naplnění (kopírování mezi složkami) Pocit přehlednosti (při menší velikosti data přehlédneme, při větším počtu – viz nevýhody)

Souborová koncepce – nevýhody Redundance (1 údaj obsažen 2× i víckrát) Nekonzistence dat (2 kopie téhož nejsou stejné) Obtížnost přístupu k datům (každý požadavek uživatele vyžaduje nový program) Obtížné vyhledávání (pokud si myslíme, že si pamatujeme, kde co máme, není to pravda) Redundance (1 údaj obsažen 2× i víckrát) Nekonzistence dat (2 kopie téhož nejsou stejné) Obtížnost přístupu k datům (každý požadavek uživatele vyžaduje nový program) Obtížné vyhledávání (pokud si myslíme, že si pamatujeme, kde co máme, není to pravda)

Souborová koncepce – nevýhody Izolace dat (data jsou v různých izolovaných souborech různých formátů). Problémy s více uživateli (aktualizace dat více uživateli vede k nekonzistenci). Problémy s ochranou dat (je obtížné zajistit utajení dat před neoprávněným přístupem). Izolace dat (data jsou v různých izolovaných souborech různých formátů). Problémy s více uživateli (aktualizace dat více uživateli vede k nekonzistenci). Problémy s ochranou dat (je obtížné zajistit utajení dat před neoprávněným přístupem).

Souborová koncepce – nevýhody Problémy s integritou dat (data nemají žádná pravidla – integritní omezení). Nízké prostředky pro vytváření vazeb mezi záznamy souborů. Problémy s integritou dat (data nemají žádná pravidla – integritní omezení). Nízké prostředky pro vytváření vazeb mezi záznamy souborů.

Databáze Soubor dat, tvořený znaky, čísly, řetězci apod. Struktura databáze umožňuje vyhledávání dat pomocí počítačových systémů Data jsou centrálně strukturovaná Data definována podle schématu Existuje nezávisle na aplikačních programech Soubor informací, tvořený znaky, čísly, řetězci apod. Struktura databáze umožňuje vyhledávání dat pomocí počítačových systémů Data jsou centrálně strukturovaná Data definována podle schématu Existuje nezávisle na aplikačních programech

Databáze obsahuje Datové prvky (záznam elementárních hodnot) Vztahy mezi prvky (datové struktury) Integritní omezení (podmínky) Schéma (popis dat pro uživatele) Datové prvky (záznam elementárních hodnot) Vztahy mezi prvky (datové struktury) Integritní omezení (podmínky) Schéma (popis dat pro uživatele)

Databáze – výhody Nezávislost na programech Efektivní přístup k datům Zkrácený vývoj aplikací Zajištěna integrita dat Nezávislost na programech Efektivní přístup k datům Zkrácený vývoj aplikací Zajištěna integrita dat

Databáze – výhody Zajištěna ochrana dat Řízená správa dat a transakcí s nimi Možnost přístupu více uživatelů Opravy chyb a zotavení Zajištěna ochrana dat Řízená správa dat a transakcí s nimi Možnost přístupu více uživatelů Opravy chyb a zotavení

Databáze – výhody jinak Perzistence – data nezávislá na programech Sdílení – k datům může více uživatelů Integrita – konzistence dat, integrita (podmínky) Autorizace – řízení přístupových práv Neredundance – údaje se v databázi zbytečně neopakují Nezávislost – programy nejsou závislé na uložení dat Perzistence – data nezávislá na programech Sdílení – k datům může více uživatelů Integrita – konzistence dat, integrita (podmínky) Autorizace – řízení přístupových Neredundance – údaje se v databázi zbytečně neopakují Nezávislost – programy nejsou závislé na uložení dat

SŘBD Systém řízení báze dat Centrální správa databáze Obecný sw systém pro řízení sdíleného přístupu k databázi Zajišťuje bezpečnost Zajišťuje integritu uložených dat Systém řízení báze dat Centrální správa databáze Obecný sw systém pro řízení sdíleného přístupu k databázi Zajišťuje bezpečnost Zajišťuje integritu uložených dat

DataBázový Systém – DBS DataBáze + Systém Řízení Báze Dat DB + SŘDB = DBS SŘBD DATABÁZE DATA METADATA

Metadata Údaje doplňující uložená data „Data o datech“ Příklad: EXIF údaje o fotografii nebo grafice

Metadata – znak v tabulce Příklad definice znaku á v tabulce Vyhledávání podle metadat (popis znaku) Vyhledávání podle pozice v tabulce (pořadové číslo)

Metadata – znak v tabulce Vyhledávání podle metadat (popis znaku) Vyhledávání podle pozice v tabulce (pořadové číslo)

Typy dat Text, kombinace text + číslo bota č. 7 Numerický 12345 Datový 12. ledna Logický ano–ne Automatické číslo (počítadlo) 1,2,3… Poznámka kouše Objekt (např. tabulka z Excelu) *.xlsx Hypertextový odkaz www.bivs.cz Text, kombinace text + číslo bota 7 Numerický 12345 Datový 12. ledna Logický ano–ne Automatické číslo (počítadlo) 1,2,3… Poznámka kouše Objekt (např. tabulka z Excelu) *.xls Hypertextový odkaz www.bivs.cz

Data Atribut 1 Atribut 2 Atribut 3 … Atribut n Záznam (věta) Položka

Záznam, věta J i r i H a s e k 25 pozic 25 pozic

Druhy databázových systémů Hierarchický model Síťový model Relační databázový systém Objektově orientovaný Multidimenzionální databáze OLAP Datové sklady Hierarchický model Síťový model Relační databázový systém Objektově orientovaný Multidimenzionální databáze OLAP Datové sklady

Záznam Student s osobním číslem složil v kurzu zkoušku dne a s výsledkem… Student Kurs číslo jméno A-1 A-2 C1 Adam 20090110 C2 Blažej 20091010 C3 Cyril 20090612 20090715 C4 David 20090919

Hierarchický model Seřazení podle názvu kurzu A-1 C1 Adam 20090110 C2 Blažej 20091010 C3 Cyril 20090612 A-2 C3 Cyril 20090715 C4 David 20090919

Hierarchický model Historicky nejstarší Vychází z přirozeného uspořádání Stromová struktura (rodokmen) Vztah označen 1 : N Rodiče mohou mít 0 až n dětí Dítě může mít jen jedny rodiče Nevýhoda – redundance dat Historicky nejstarší Vychází z přirozeného uspořádání Stromová struktura (rodokmen) Vztah označen 1 : N Rodiče mohou mít 0 až n dětí Dítě může mít jen jedny rodiče Nevýhoda – redundance dat

Síťový model A1 A2 20090110 20091010 20090612 20090715 20090919 C1 Adam C2 Blažej C3 Cyril C4 David

Síťový model Zobecnění hierarchického modelu Vztah 1 : N, navíc i M : N Př.: Autor – Nakladatelství Jeden autor vydává knihy ve více nakladatelstvích Jedno nakladatelství vydává knihy více autorů Nevýhoda: náročná realizace a aktualizace Zobecnění hierarchického modelu Vztah 1 : N, navíc i M : N Př.: Autor – Nakladatelství Jeden autor vydává knihy ve více nakladatelstvích Jedno nakladatelství vydává knihy více autorů Nevýhoda: náročná realizace a aktualizace

Relační model Student Zkouška v kurzu číslo popis atd. C1 Adam C2 Blažej C3 Cyril C4 David číslo popis atd. A-1 databáze 2/2 z, Zk A-2 angličtina 0/2 z Vztahy číslo studenta číslo kurzu zkouška dne hodnocení C1 A-1 20090110 1 C2 20091010 2 C3 20090612 A-2 20090715 3 C4 20090919

Relační databáze Nejpropracovanější Základem jsou relace – dvourozměrné tabulky s pojmenovanými sloupci Pořadí sloupců je libovolné Nevýhoda Větší počet přístupů do paměti – pomalejší Výhoda Snížení objemu dat, možnost deduplikace Nejpropracovanější Základem jsou relace – dvourozměrné tabulky s pojmenovanými sloupci Pořadí sloupců je libovolné Nevýhoda Větší počet přístupů do paměti – pomalejší Výhoda Snížení objemu dat, možnost deduplikace

Relační databáze Ukládají data do oddělených tabulek Zajišťuje to rychlost a flexibilitu. Tabulky popisují nějakou část reálného světa Ukládají data do oddělených tabulek Zajišťuje to rychlost a flexibilitu. Tabulky popisují nějakou část reálného světa

Relační databáze Předměty zachycované tabulkami mohou být spolu v nějakém vztahu. I jednotlivé vztahy mezi tabulkami jsou reprezentovány tabulkami Na tabulky i na vztahy mezi nimi se dá pohlížet jako na relace. Předměty zachycované tabulkami mohou být spolu v nějakém vztahu. I jednotlivé vztahy mezi tabulkami jsou reprezentovány tabulkami Na tabulky i na vztahy mezi nimi se dá pohlížet jako na relace.

Relační databáze Výhoda v jednoduchostí – vše je uloženo v tabulkách, tabulky mají sloupce, v každém sloupci jsou data určitého typu Jednoduchost relací je ve složitých aplikacích problém Komplikované úlohy se pod relačními databázemi implementují velice těžko Výhoda v jednoduchostí – vše je uloženo v tabulkách, tabulky mají sloupce, v každém sloupci jsou data určitého typu Jednoduchost relací je ve složitých aplikacích problém Komplikované úlohy se pod relačními databázemi implementují velice těžko

Objektový model Neodděluje data a funkce Od konce 90. let Vhodný pro data se složitou strukturou (text, text s odkazy, obrázky, video, zvukové záznamy) Vyžaduje nový způsob ukládání dat a obsluhu transakcí* * Transakce je posloupnost akcí (čtení, zápis, výpočet), se kterou se zachází jako s jedním celkem. Např. dotaz v SQL Neodděluje data a funkce Od konce 90. let Vhodný pro data se složitou strukturou (text, text s odkazy, obrázky, video, zvukové záznamy) Vyžaduje nový způsob ukládání dat a obsluhu transakcí* * Transakce je posloupnost akcí (čtení, zápis, výpočet) ,se kterou se zachází jako s jedním celkem. Např. dotaz v SQL

Objektový model – vlastnosti Plná podpora objektů Zapouzdření Dědičnost Polymorfizmus Jednoznačná identifikace objektu Reference mezi objekty Plná podpora objektů Zapouzdření Dědičnost Polymorfizmus Jednoznačná identifikace objektu Reference mezi objekty

Zapouzdření Zajišťuje, aby jeden objekt se nemohl dostat k vnitřnímu obsahu jiného objektu (pouzdro) Zabraňuje tak nekonzistenci Každý objekt zpřístupňuje rozhraní s nímž pracuje – jiná možnost není Zapouzdření – zaručuje, že objekt nemůže přímo přistupovat k „vnitřnostem“ jiných objektů, což by mohlo vést k nekonzistenci. Každý objekt navenek zpřístupňuje rozhraní, pomocí kterého (a nijak jinak) se s objektem pracuje. Zajišťuje, aby jeden objekt se nemohl dostat k vnitřnímu obsahu jiného objektu (pouzdro) Zabraňuje tak nekonzistenci Každý objekt zpřístupňuje rozhraní s nímž pracuje – jiná možnost není

Dědičnost Objekty organizovány ve stromové struktuře Možnost, aby jeden objekt byl potomkem jiného objektu Dědí jeho schopnosti, k nimž přidává vlastní rozšíření Implementace rozdělením objektů do tříd, každý objekt je instancí nějaké třídy Každá třída může dědit od jiné třídy Dědičnost – objekty jsou organizovány stromovým způsobem, kdy objekty nějakého druhu mohou dědit z jiného druhu objektů, čímž přebírají jejich schopnosti, ke kterým pouze přidávají svoje vlastní rozšíření. Tato myšlenka se obvykle implementuje pomocí rozdělení objektů do tříd, přičemž každý objekt je instancí nějaké třídy. Každá třída pak může dědit od jiné třídy (v některých programovacích jazycích i z několika jiných tříd). Objekty organizovány ve stromové struktuře Možnost, aby jeden objekt byl potomkem jiného objektu Dědí jeho schopnosti, k nimž přidává vlastní rozšíření Implementace rozdělením objektů do tříd, každý objekt je instancí nějaké třídy Každá třída může dědit od jiné třídy

Instance třídy Instance třídy je konkrétní datový objekt v paměti odvozený z nějakého vzoru (třídy) Objekt představuje základní stavební prvek objektově orientovaného programování. Každý takový objekt má své vlastní atributy a metody podle vzoru (třídy). Instance bývá obvykle vytvořena pomocí konstruktoru a klíčového slova new. (v některých programovacích jazycích také objekt) používaný v objektově orientovaných programovacích jazycích (Java, C++, Simula 67, atd.). Instance třídy je konkrétní datový objekt v paměti odvozený z nějakého vzoru (třídy) Objekt představuje základní stavební prvek objektově orientovaného programování. Každý takový objekt má své vlastní atributy a metody podle vzoru (třídy). Instance bývá obvykle vytvořena pomocí konstruktoru a klíčového slova new.

Polymorfizmus Objekt se chová podle toho, jaké třídy je instancí Chování se liší podle implementace Různá struktura dat i metod Polymorfismus – odkazovaný objekt se chová podle toho, jaké třídy je instancí. Pokud několik objektů poskytuje stejné rozhraní, pracuje se s nimi stejným způsobem, ale jejich konkrétní chování se liší podle implementace. U polymorfismu podmíněného dědičností to znamená, že na místo, kde je očekávána instance nějaké třídy, můžeme dosadit i instanci libovolné její podtřídy, neboť rozhraní třídy je podmnožinou rozhraní podtřídy. U polymorfismu nepodmíněného dědičností je dostačující, jestliže se rozhraní (nebo jejich požadované části) u různých tříd shodují, pak jsou vzájemně polymorfní. Objekt se chová podle toho, jaké třídy je instancí Chování se liší podle implementace Různá struktura dat i metod

Integrita Podmínka, kterou omezujeme možné hodnoty atributů, nebo možné manipulace se záznamy, které existují ve vazbě k záznamům jiné tabulky Příklad: V tabulce je uvedeno pohlaví. Omezení určuje, že v položce je uvedeno buď muž nebo žena Integrita: databáze vyhovuje zadaným pravidlům – integritním omezením. Tato integritní omezení jsou součástí definice databáze, a za jejich splnění zodpovídá systém řízení báze dat. Integritní omezení: jednotlivé hodnoty vkládané do polí databáze (například známka z předmětu musí být v rozsahu 1 až 5), nebo podmínka na kombinaci hodnot v polích jednoho záznamu (například datum narození nesmí být pozdější než datum úmrtí). Integritní omezení – může jít o požadavek na unikátnost hodnot daného pole či kombinace polí v rámci celé množiny záznamů daného typu, které se v databázi vyskytují (například číslo průkazu v záznamech o osobách). referenční integrita. požadavek, aby pro pole záznamu, jež má obsahovat odkaz na jiný záznam někde v databázi, takový odkazovaný záznam skutečně existoval (databázový sirotka). integritní omezení pomocí tzv. triggerů. Jde o komplexnější definice kontrol, jež se budou provádět při každém pokusu o zápis záznamu do databáze.

Structured Query Language – SQL Sada příkazů pro ovládání databází První byl SEQUEL (Structured English Query Language) – syntaktická tvorba příkazů co nejblíže angličtině SQL součástí všech relačních databázových systémů (Progres, INFORMIX, SyBase, Oracle) V 70. léta 20. století - IBM - výzkum relačních databází. Příkaz pro ovládání r. databází. Vznikl jazyk SEQUEL (Structured English Query Language). Cílem - jazyk s příkazy syntakticky co nejblíže přirozenému jazyku (angličtině). 1979 firma Relational Software, Inc. (dnešní Oracle Corporation) vlastní relační databázová platforma Oracle Database. uvedla v roce 1981 nový systém SQL/DS a v roce 1983 systém DB2. Dalšími systémy byly např. Progres, Informix a SyBase. Ve všech varianta ye SEQUEL, který byl přejmenován na SQL. Relační databáze – nutné standardizovat. ANSI původně RDL. SQL se prosadil de facto , ANSI založil standard SQL-86 (přijat 1986). nový standard SQL-92 (někdy se uvádí jen SQL2) (přijat 1992). Nejnovější standard je SQL3 (SQL-99), nejmodernější pro databáze s objektovými prvky. Standardy podporuje každá relační databáze, nejsou implementovány všechny požadavky normy. A naopak, každá obsahuje prvky a konstrukce, mimo standard. Přenositelnost SQL dotazů mezi jednotlivými databázemi je proto omezená.

Structured Query Language – SQL V rámci tohoto standardu byly definovány následující podskupiny DML – Data Manipulation Language (Příkazy pro manipulaci s daty) DDL – Data Definition Language (Příkazy pro definici struktury databáze) DCL – Data Control Language (Příkazy pro řízení dat) V rámci tohoto standardu byly definovány následující podskupiny DML – Data Manipulation Language (Příkazy pro manipulaci s daty) DDL – Data Definition Language (Příkazy pro definici struktury databáze) DCL – Data Control Language (Příkazy pro řízení dat)

SQL příkazy Příkazy pro manipulaci s daty (SELECT, INSERT, UPDATE, DELETE, …) Příkazy pro definici dat (CREATE, ALTER, DROP …) Příkazy pro řízení přístupových práv (GRANT, REVOKE) Příkazy pro řízení transakcí (START TRANSACTION, COMMIT, ROLLBACK) Ostatní nebo speciální příkazy Příkazy pro manipulaci s daty (SELECT, INSERT, UPDATE, DELETE, …) Příkazy pro definici dat (CREATE, ALTER, DROP …) Příkazy pro řízení přístupových práv (GRANT, REVOKE) Příkazy pro řízení transakcí (START TRANSACTION, COMMIT, ROLLBACK) Ostatní nebo speciální příkazy

Manipulace s daty SELECT – výběr, seskupení, řazení dat INSERT – vložení dat do tabulek databáze UPDATE – změna dat tabulek databáze DELETE – smázení dat tabulek databáze SELECT – výběr, seskupení, řazení dat INSERT – vložení dat do tabulek databáze UPDATE – změna dat tabulek databáze DELETE – smázení dat tabulek databáze

Definice struktury databáze CREATE – vytváří v databázi nový objekt, vazbu mezi tabulkami ALTER – mění objekty databáze (strukturu databáze, schéma) DROP – ruší objekty v databázi CREATE – vytváří v databázi nový objekt, vazbu mezi tabulkami ALTER – mění objekty databáze (strukturu databáze, schéma) DROP – ruší objekty v databázi

Řízení přístupových práv GRANT – přiřazuje konkrétnímu uživateli přístupová práva k datům REVOKE – odebírá konkrétnímu uživateli přístupová práva GRANT – přiřazuje konkrétnímu uživateli přístupová práva k datům REVOKE – odebírá konkrétnímu uživateli přístupová práva

Řízení dat START TRANSACTION – začátek transakce COMMIT – potvrzení transakce ROLLBACK – pokud během transakce vznikla chyba, příkaz vrátí databázi do stavu před spuštěním transakce START TRANSACTION – začátek transakce COMMIT – potvrzení transakce ROLLBACK – pokud během transakce vznikla chyba, příkaz vrátí databázi do stavu před spuštěním transakce

OLAP Online Analytical Processing Vznik roku 1993, autorem E. F. Codd, otec relačních databází. OLAP databáze – odpovědi na komplexní dotazy pracující s více dimenzemi Umožňuje uspořádat velké objemy dat Vznik roku 1993, autorem E. F. Codd, otec relačních databází. OLAP databáze – odpovědi na komplexní dotazy pracující s více dimenzemi Nabízejí pohled na data z mnoha perspektiv: Příklad: kolik jsme prodali praček v regionu západních Čech za poslední čtvrtletí?

OLAP Základem je tvorba dotazů a sestav Zpracovávají data z klasických databází Vytváří vícerozměrné struktury („kostky“) Nabízejí pohled na data z mnoha perspektiv: Příklad: kolik jsme prodali praček v regionu západních Čech za poslední čtvrtletí? Vznik roku 1993, autorem E. F. Codd, otec relačních databází. OLAP databáze – odpovědi na komplexní dotazy pracující s více dimenzemi Nabízejí pohled na data z mnoha perspektiv: Příklad: kolik jsme prodali praček v regionu západních Čech za poslední čtvrtletí?

OLAP Vhodné pro analýzu komplexních vazeb mezi daty. OLAP databáze jsou pro analýzu dat výhodnější než klasické relační databáze OTLP Ukládají data tak, že předpočítávají agregace (shlukují data) Jsou vhodná pro analýzu komplexních vazeb mezi daty. Pro analýzy dat jsou OLAP databáze výhodnější než klasické relační databáze Ukládají data tak, že předpočitávají agregace (shlukují data) Ukládají je do struktur, tzv. kostek

OLAP Obsahují dva základní typy dat: Míra – čísla, hodnoty (náklady, výnosy, zisky, ztráty, prodeje, počty reklamací…) Průměr a množství – používají se ke zpracování údajů (měr) Zpracování obvykle pomocí Business Intelligence Jsou vhodná pro analýzu komplexních vazeb mezi daty. Pro analýzy dat jsou OLAP databáze výhodnější než klasické relační databáze Ukládají data tak, že předpočitávají agregace (shlukují data) Ukládají je do struktur, tzv. kostek

ROLAP Struktura s agregačními tabulkami přímo v relační databázi, Mluvíme o tzv. ROLAPu (relational OLAP) Struktura s agregačními tabulkami přímo v relační databázi, Mluvíme o tzv. ROLAPu (relational OLAP)

MOLAP, HOLAP MOLAP (multidimensional OLAP). Vytváří vlastní proprietární soubory, pak se jedná o MOLAP HOLAP (hybrid OLAP) „Střední cesta“, data zůstávají v relační databázi a zvlášť jsou uloženy agregace a metadata. MOLAP (multidimensional OLAP). Vytváří vlastní proprietární soubory, pak se jedná o MOLAP HOLAP (hybrid OLAP) „Střední cesta“, data zůstávají v relační databázi a zvlášť jsou uloženy agregace a metadata.

Rozdíl mezi OLAP a OLTP OLAP OLTP Data jednorázově nahrána Nejsou průběžně akrtualizována Neukládají se v 3NF formě Používá více indexů než OLTP Snadné a bezpečné ukládání dat Bezpečné provádění změn a aktualizací Doporučené ukládání v 3NF formě Používá méně indexů než OLAP

Rozdíl mezi OLAP a OLTP OLAP OLTP Pohled globální Komplexní dotazy na více parametrů Pohled detailní Jednoduché dotazy, jednoduché transakce

Vysvětlivky Třetí normální forma (3NF) INDEX Soubor doporučení (metodika) pro návrh datové struktury databáze Optimální využití vlastností systému OLTP  INDEX  Databázová konstrukce pro zrychlení vyhledávání v databázi Výrazně urychluje odpovědi na dotazy Optimalizace pro fulltextové vyhledávání.

Srovnávací tabulka Z referátu Zdeňka Koubka Znak OLTP OLAP Charakteristika Provozní zpracování Informační zpracování Orientace Transakční Analytická Uživatel Úředník, databázový administrátor Znalostní pracovník (manažer, analytik) Funkce Každodenní operace Dlouhodobé informační požadavky, podpora rozhodování Data Současná, zaručeně aktuální Historická Sumarizace dat Základní, vysoce detailní Shrnutá, kompaktní Náhled Detailní Shrnutý, multidimensionální Jednotky práce Krátké, jednoduché transakce Komplexní dotazy Přístup Číst a zapisovat Většinou pouze číst Zaměření Vkládání dat Získávání informací Počet dostupných záznamů Desítky Miliony Počet uživatelů Tisíce Stovky Velikost databáze 100 MB až GB 100 GB až TB Přednosti Vysoký výkon, vysoká přístupnost Vysoká flexibilita, nezávislost koncového uživatele Srovnávací tabulka Z referátu Zdeňka Koubka

Datové sklady Data Warehouse (DWH) Speciální typ relační databáze Analytické dotazování nad rozsáhlými soubory dat

Definice datového skladu Charakteristiky popsal William Inmon Orientace na subjekt Integrovanost Nízká proměnlivost Historizace

Orientace na subjekt Relační databáze Datový sklad Co nejmenší redundance Normalizace dat (3NF) Vnitřní provázání celků Malé nároky na paměť Separace funkčních celků Struktura přehledná pro uživatele Velké nároky na paměť

Integrovanost Relační databáze Datový sklad Provozní aplikace pracuje se „svými“ specifickými daty Úlohu řeší jen s těmito daty Shromáždění informací z různých zdrojů Seskupení podle logického významu Všechna data pohromadě Viz Orientace na subjekt

Nízká proměnlivost Relační databáze Datový sklad Data jsou průběžně upravována a doplňována Data nahrávána v dávkách Např. denní nebo týdenní dávky Po nahrání se data neupravují, nemodifikují

Historizace Relační databáze Datový sklad Data udržována v aktuální podobě Jiný stav uživatele obvykle nezajímá Data udržována v historické podobě Možnost analýzy časového vývoje

Technické charakteristiky Nástroj pro nahrávání dat z různých zdrojů Různé datové formáty Různé fyzické umístění Kombinace relačních i jiných databází Data ukládána s ohledem na snadnou editaci Snadné a rychlé provádění složitých dotazů Použití OLAP

Dotazy v datovém skladu Není předem známo jaké úlohy se budou řešit Potřeba flexibilních analytických nástrojů Obvykle je znám pouze typ úlohy Nikdy všechny dotazy a úlohy

Datový sklad – faktová tabulka Datový sklad členěn do schémat Každé schéma – analyzovaná funkční oblast Jádrem schématu faktová tabulka (jedna nebo více) V nich analyzovaná data Faktové tabulky – detailní údaje ze všech zdrojů Více údajů než ostatní tabulky

Datový sklad – dimenze Dimenze je tabulka Obsahují seznamy hodnot ke kategorizaci a třídění dat S faktovými tabulkami spojeny pomocí cizích klíčů

Příklad Informace o prodejích Zdroj: pokladny hypermarketu Analýza: Doba prodeje Prodejna Typ zboží Dodavatel Vliv akcí Platby (karta, hotově)

Příklad Schéma Prodej Faktová tabulka Položky prodeje Typ zboží Cena Počet kusů

Příklad Dimenze pro třídění Datum a hodina (týden, měsíc) Prodejna Foto Škoda Typ zboží Pentax K-5II Kategorie zboží Digitální zrcadlovka Oddělení Zrcadlovky Dodavatel Pentec

Děkuji za pozornost