Databáze Bc. Veronika Tomsová
D b Databázové schéma h
Mapování á í konceptuálního á í modelu do (relačního) databázového schématu.
2/21
Fyzické i k schéma h d databáze b
Určuje U č j jakým j ký způsobem ů b jjsou data d t v databázi d t bá i ukládána kládá a zpracována á v počítači. čít či Data jsou ukládána na médiích s přímým přístupem (disky) nebo na mediích se sekvenčním přístupem (pásky) - pásky obvykle slouží k zálohování databáze. Data jjsou zpracovávána p v operační p p paměti. Jednotkou přenosu mezi vnější pamětí a operační pamětí je blok. Bloky jsou operativně ukládány ve vyrovnávací paměti – bufferu. SŘBD má vyhrazeno několik stránek v operační paměti pro kopie dat z vnější paměti, s nimiž i iž probíhá bíhá zpracování. á í Správu přenosu mezi vnější pamětí a buffery v běžných aplikacích dělá operační systém, v databázovém zpracování však modul řízení vyrovnávacích pamětí a modul řízení souborů jsou součástí SŘBD. Databáze tedy v tomto směru nevyužívá služeb operačního systému, používá vlastní algoritmy. Na základě definice schématu databáze v jazyce definice dat si SŘBD vytváří schéma organizace souboru sám, moderní silné SŘBD mohou toto schéma upravovat na základě provozních charakteristik databáze. Databázový administrátor, neboli správce databáze, může schéma organizace souboru ovlivňovat pouze velmi omezeně. Typická možnost administrátorovy volby je vymezení adresního prostoru pro databázi a zadání příkazů pro vytvoření indexů. indexů 3/21
Pro připomenutí ř - Index d
databázová entita
Vytvořením indexu databázový server zarezervuje pro požadovaný index určitou část paměťového prostoru a uloží do něj informace o rozmístění hodnot indexovaných sloupců v tabulce
slouží ke zrychlení vyhledávacích a dotazovacích procesů v databázi definování unikátní hodnoty sloupce tabulky nebo optimalizaci fulltextového vyhledávání
v podobě, podobě která závisí na použitých vnitřních algoritmech indexace indexace.
Pokud později dojde k dotazu, který se týká indexovaných sloupců, není tabulka prohledávána podle toho, jak jsou za sebou řádky uloženy, ale pomocí informací uložených v paměťovém prostoru indexu je přistupováno přímo k relevantním řádkům tabulky
funguje trochu podobně jako rejstřík v knize, kde místo odkazu na příslušnou stránky knihy je ukazatel na paměťové místo s týženými daty. daty
4/21
Normalizace li d databáze b
Normalizace N li jje odstranění d t ě í redundantních d d t í h ((opakujících) k jí í h) se d dat, t omezení složitosti (rozložit složité relace na dvojrozměrné tabulky) a zabránění tzv. aktualizačním anomáliím (např. abychom smazáním všech knih autora nepřišli o data o autorovi). autorovi) Normalizace by měla vést k tomu, aby databáze byla přehlednější, rozšiřitelnější a výkonnější. Normalizace by měla vést k vzniku tabulek, které lze snadno udržovat a efektivně se na ně dotazovat. Normalizované schéma musí zachovat všechny závislosti původního schémat a relace musí zachovat původní data, což znamená, že se musíme pomocí přirozeného spojení dostat k původním datům.
5/21
Normalizace li d databáze b II. Existujíí formálně á ě popsané é stupně ě míry í normalizace, nazývané normální formy. Někteří zadavatelé projektů IS výslovně požadují, p j aby y navržené tabulky y databáze byly v určité normální formě.
6/21
První normální l fforma
Tato normální T ál í forma f se vymyká ká předloze ř dl ostatních í h normálních forem, nejde v ní o odstraňování nežádoucích závislostí mezi poli. Tato forma je pouze výslovným zopakováním požadavku relačního databázového modelu, že atributy jsou atomické. Při normalizaci databáze se v tomto kroku myslí hlavně to, to aby pole tabulek nebyla sémanticky dělitelná, jako např. textový řetězec „W. Churchilla 4, Praha 3“, který sice můžeme ůž uložit l žit d do jjediného di éh pole l ttabulky, b lk ale l nejspíš j íš tím tí zanedbáváme to, že později budeme vyhledávat jeho jednotlivé významové složky.
7/21
D h normální Druhá l fforma Žádný Žá ý neklíčový íč ý atribut neníí funkčně č ě závislý na pouhé části klíče. Tím se myslí, že v případě složeného klíče tabulky y nejsou j některá z ostatních polí p tabulky funkčně závislá pouze na některé složce tohoto složeného klíče.
8/21
Tř normální Třetí l fforma Neníí žá žádná á funkční č í závislost á mimo klíč. íč Tím se myslí, y , že v tabulce není funkční závislost nějakých polí na jiných polích, jjež nejsou j součástí žádného klíče.
9/21
Boyce Coddova C dd normální l fforma V tabulkách á neníí žádná žá á netriviální á í funkční č í závislost. Tím se myslí, že jediné netriviální funkční závislosti v tabulkách jjsou závislosti na celém klíči
10/21
Č Čtvrtá normální l fforma
týká ý á odstranění ě í přebytečných ř č ý tzv. multizávislostí.
11/21
Architekturyy DB zpracování p
Business i Intelligence lli sada postupů, ů procesů ů a technologií, í jejímž cílem je účinně a účelně podporovat rozhodovacíí procesy ve firmě. ě Představuje j komplex p aplikací, p které podporují analytické a plánovací činnosti podniků a organizací p g a jjsou p postaveny y na specifických, tzv. OLAP (On-Line Analytical Processing) g technologiích g a jejich modifikacích.
13/21
OLAP OLA
technologie h l i uložení l ž íd dat v d databázi, bá i k která á umožňuje žň j uspořádat velké objemy dat tak, aby byla data přístupná a srozumitelná uživatelům zabývajícím se analýzou obchodních trendů ů a výsledků. ů LAP je část širšího pojmu s názvem Business Inteligence, který zahrnuje oblasti jako relační reporting a data mining. Je navržen hlavně pro manažery, který nemají IT zkušenosti s SQL. Z ů b uložení Způsob l ž íd datt se svým ý zaměřením ěř í liší od d běž běžněji ěji užívaného OLTP (Online Transaction Processing), kde je důraz kladen především na snadné a bezpečné ukládání změn v datech v konkurenčním (mnohauživatelském) prostředí. 14/21
OLTP OLT
okamžité ž é zpracování á í transakcíí Systém uchovávající záznamy o jednotlivých uskutečněných k t č ě ý h (t (typicky i k obchodních) b h d í h) transakcích t k í h a je obvykle realizován pomocí dnes nejběžnější – relační – databázové technologie. 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 datového skladu, nad nímž se posléze podle potřeb provádí okamžité ž é zpracování á í analýz ý pomocíí vrstvy OLAP.
15/21
Základní rozdíly mezi OLA a OLTP OLAP OLT
vyplývají ý í z rozdílného í é použití ž í - u OLAP se jedná o jednorázově nahrávaná data, nad kterými ý jsou prováděny á ě složité ž é dotazy, u OLTP jsou data průběžně a často modifikována á a přidávána ř á á a to obvykle mnoha uživateli zároveň.
16/21
Základní rozdíly mezi OLA a OLTP OLAP OLT II.
OLAP nepoužívá ží á na rozdíl í od OLTP normalizované uložení dat v 3.NF formě - data jsou v uložena tak tak, aby umožňovala rychlou realizaci složitých dotazů, časté je zdvojené ((redundantní)) uložení,, které by y v případě p p OLTP komplikovalo provádění změn v datech OLAP používá podstatně více indexů než OLTP opět to souvisí se zaměřením, kde indexy umožňují rychlé provedení složitých dotazů OLAP na rozdíl í od OLTP č často používá ží á předpočítané agregované a odvozené hodnoty 17/21
Datovýý sklad
Datový sklad (anglicky l k Data D Warehouse) h )
jje zvláštní lášt í ttyp relační l č íd databáze, t bá která kt á umožňuje žň j řešit ř šit úl úlohy h zaměřené převážně na analytické dotazování nad rozsáhlými soubory dat. Z požadavků na datový sklad vyplývají jeho technologické charakteristiky:
Datový sklad musí obsahovat nástroj pro nahrávání dat z různých datových zdrojů, zdrojů tyto zdroje mohou mít různé datové formáty a různé fyzické umístění, nemusí se zdaleka jednat pouze o relační databáze. Datový sklad ukládá data nikoliv s ohledem na co nejlepší podmínky pro editaci, ale s ohledem na co nejlepší a nejrychlejší provádění složitých dotazů - proto je pro uložení dat používána často technologie OLAP. Nelze předem vědět, jaké dotazy a jaké úlohy budou chtít uživatelé nad datovým skladem v budoucnosti řešit. (V době budování datového skladu je obvykle známý pouze typ úloh, nikoliv všechny jednotlivé dotazy a úlohy.) Z toho vyplývá potřeba dostatečně flexibilních a přitom uživatelsky přívětivých analytických nástrojů. nástrojů 19/21
D Datový sklad kl d
Data D t v datovém d t é skladu kl d jsou j z logického l i kéh (uživatelského) ( ži t l kéh ) pohledu hl d členěna do schémat - každé schéma odpovídá jedné analyzované funkční oblasti. Jádro á každého ž é schématu é tvoří ří jedna nebo několik ě faktových ý tabulek. V nich jsou uložena vlastní analyzovaná data - číselné a finanční hodnoty, které jsou použity k analytickým výpočtům ů - agregacím, třídění apod. Většina paměťového místa v datovém skladu zabírají faktové tabulky, které obsahují detailní údaje ze všech zdrojů - tedy řádově více údajů než ostatní tabulky. Faktové tabulky y jsou j p pomocí cizích klíčů spojeny p j y s dimenzemi. Dimenze jsou tabulky, které obsahují seznamy hodnot sloužících ke kategorizaci a třídění dat ve faktových tabulkách.
20/21
Datové pumpy
ETL nástroje á t j se starají t jí o plnění l ě íd datt d do databáze. d t bá Tyto nástroje získávají data ze vzájemně nekompatibilních zdrojů, kterými jsou provozní systémy podniku a jiné externí zdroje, a také é je transformujíí do nových ý odpovídajících í í í struktur a následně á ě ukládají do datového skladu. Data jsou tak připravena k pozdějším analýzám. Celý proces zabezpečuje také "čištění" dat, což představuje nejdůležitější úkol. Kvalita ETL nástrojů tedy přímo ovlivňuje kvalitu dat uložených v datovém skladu, a tím pádem také kvalitu informací, které z něj můžeme získat. Z výše uvedených důvodů je nutné této problematice věnovat velkou pozornost, neboť vynaložené náklady (někdy až 3/4 nákladů) se v krátkém časovém horizontu vrátí. 21/21