Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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

Podobné prezentace


Prezentace na téma: "Ukládání dat aneb kam s nimi? souborová—databázová koncepce."— Transkript prezentace:

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

2 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

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

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

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

6 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ů.

7 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

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

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

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

11 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

12 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

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

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

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

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

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

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

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

20 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

21 Záznam Student s osobním číslem složil v kurzu zkoušku dne a s výsledkem… StudentKurs číslojménoA-1A-2 C1Adam C2Blažej C3Cyril C4David

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

23 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

24 Síťový model A1A C1 AdamC2 BlažejC3 CyrilC4 David

25 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

26 Relační model 26 číslopopisatd. C1Adam C2Blažej C3Cyril C4David číslopopisatd. A-1databáze2/2 z, Zk A-2angličtina0/2 z číslo studentačíslo kurzuzkouška dnehodnocení C1A C2A C3A C3A C4A Zkouška v kurzu Vztahy Student

27 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

28 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

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

30 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

31 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

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

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

34 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

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

36 Polymorfizmus Objekt se chová podle toho, jaké třídy je instancí Chování se liší podle implementace Různá struktura dat i metod

37 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

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

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

40 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

41 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

42 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

43 Ří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

44 Ří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

45 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

46 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í?

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

48 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

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

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

51 Rozdíl mezi OLAP a 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 OLAPOLTP

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

53 Vysvětlivky Třetí normální forma (3NF) 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í.

54 Srovnávací tabulka Z referátu Zdeňka Koubka ZnakOLTPOLAP CharakteristikaProvozní zpracováníInformační zpracování OrientaceTransakčníAnalytická Uživatel Úředník, databázový administrátor Znalostní pracovník (manažer, analytik) FunkceKaždodenní operace Dlouhodobé informační požadavky, podpora rozhodování Data Současná, zaručeně aktuální Historická Sumarizace datZákladní, vysoce detailníShrnutá, kompaktní NáhledDetailníShrnutý, multidimensionální Jednotky práce Krátké, jednoduché transakce Komplexní dotazy PřístupČíst a zapisovatVětšinou pouze číst ZaměřeníVkládání datZískávání informací Počet dostupných záznamůDesítkyMiliony Počet uživatelůTisíceStovky Velikost databáze100 MB až GB100 GB až TB Přednosti Vysoký výkon, vysoká přístupnost Vysoká flexibilita, nezávislost koncového uživatele

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

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

57 Orientace na subjekt 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ěť Relační databázeDatový sklad

58 Integrovanost 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 Relační databázeDatový sklad

59 Nízká proměnlivost 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í Relační databázeDatový sklad

60 Historizace 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 Relační databázeDatový sklad

61 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

62 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

63 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

64 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íčů

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

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

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

68 Děkuji za pozornost


Stáhnout ppt "Ukládání dat aneb kam s nimi? souborová—databázová koncepce."

Podobné prezentace


Reklamy Google