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

Ukládání dataneb

kam s nimi?

souborová—databázová koncepce

Page 2: 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í souboruZápis do souboru, úpravyVytvoření kopií a verzí souboru

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

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)

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

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)

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

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

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

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

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

Databáze 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

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

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)

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

Databáze – výhody Nezávislost na programech

Efektivní přístup k datům

Zkrácený vývoj aplikací

Zajištěna integrita dat

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

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í

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

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

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

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

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

DataBázový Systém – DBS

DataBáze + Systém Řízení Báze Dat

DB + SŘDB = DBS

DATABÁZE

DATA METADATA

SŘBD

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

Metadata Údaje doplňující uložená

data „Data o datech“ Příklad:

EXIF údaje o fotografii nebo grafice

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

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)

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

Metadata – znak v tabulce

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

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

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)

*.xls Hypertextový odkaz

www.bivs.cz

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

DataAtribut 1 Atribut 2 Atribut 3 … … Atribut n

Záznam (věta)

Položka

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

Záznam, věta

J i r i H a s e k

25 pozic 25 pozic

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

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

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

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

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

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

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

Hierarchický model Historicky nejstarší

Vychází z přirozeného uspořádání

Stromová struktura (rodokmen)

Vztah označen 1 : NRodiče mohou mít 0 až n dětíDítě může mít jen jedny rodiče

Nevýhoda – redundance dat

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

Síťový model

A1 A2

20090110 20091010 20090612 20090715 20090919

C1 Adam C2 Blažej C3 Cyril C4 David

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

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

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

Relační model

26

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

číslo studenta číslo kurzu zkouška dne hodnocení

C1 A-1 20090110 1

C2 A-1 20091010 2

C3 A-1 20090612 2

C3 A-2 20090715 3

C4 A-2 20090919 1

Zkouška v kurzu

Vztahy

Student

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

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

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

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

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

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.

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

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

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

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

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

Objektový model – vlastnosti Plná podpora objektů

Zapouzdření

Dědičnost

Polymorfizmus

Jednoznačná identifikace objektu

Reference mezi objekty

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

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í

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

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

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

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.

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

Polymorfizmus Objekt se chová podle toho, jaké třídy je

instancí

Chování se liší podle implementace

Různá struktura dat i metod

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

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

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

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)

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

ROLAP Struktura s agregačními tabulkami přímo

v relační databázi, Mluvíme o tzv. ROLAPu (relational OLAP)

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

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.

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

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

OLAP OLTP

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

Rozdíl mezi OLAP a OLTP

Pohled globální Komplexní dotazy na

více parametrů

Pohled detailní Jednoduché dotazy,

jednoduché transakce

OLAP OLTP

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

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áziVýrazně urychluje odpovědi na dotazyOptimalizace pro fulltextové vyhledávání.

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

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í operaceDlouhodobé informační požadavky, podpora rozhodování

DataSoučasná, zaručeně aktuální

Historická

Sumarizace dat Základní, vysoce detailní Shrnutá, kompaktní

Náhled Detailní Shrnutý, multidimensionální

Jednotky práceKrá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řednostiVysoký výkon, vysoká přístupnost

Vysoká flexibilita, nezávislost koncového uživatele

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

Datové sklady Data Warehouse (DWH)

Speciální typ relační databáze

Analytické dotazování nad rozsáhlými soubory dat

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

Definice datového skladu Charakteristiky popsal William Inmon

Orientace na subjekt Integrovanost Nízká proměnlivost Historizace

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

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áze Datový sklad

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

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áze Datový sklad

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

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áze Datový sklad

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

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áze Datový sklad

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

Technické charakteristiky Nástroj pro nahrávání dat z různých zdrojů

Různé datové formátyRů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

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

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

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

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

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

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

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

Příklad Informace o prodejích Zdroj: pokladny hypermarketu

Analýza: Doba prodejeProdejnaTyp zbožíDodavatelVliv akcíPlatby (karta, hotově)

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

Příklad Schéma Prodej Faktová tabulka Položky prodeje

Typ zbožíCena Počet kusů

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

Příklad Dimenze pro třídění

Datum a hodina (týden, měsíc)Prodejna

Foto ŠkodaTyp zboží

Digitální zrcadlovka Pentax K-5IIKategorie zboží

Digitální zrcadlovkaOddělení

ZrcadlovkyDodavatel

Pentec


Recommended