ukládání dat aneb kam s nimi? souborová—databázová koncepce
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
Ukládání dataneb
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
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)
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)
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).
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ů.
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
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)
Databáze – výhody 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í
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
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
DataBázový Systém – DBS
DataBáze + Systém Řízení Báze Dat
DB + SŘDB = DBS
DATABÁZE
DATA METADATA
SŘBD
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 pozice v tabulce (pořadové číslo)
Vyhledávání podle metadat (popis znaku)
Metadata – znak v tabulce
Vyhledávání podle pozice v tabulce (pořadové číslo)Vyhledávání podle metadat (popis znaku)
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
DataAtribut 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
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 : NRodič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
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
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
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
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.
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
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
Objektový model – vlastnosti 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í
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
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.
Polymorfizmus 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
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)
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)
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
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
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
Ří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
Ří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
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
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í?
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)
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
ROLAP 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.
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
Rozdíl mezi OLAP a OLTP
Pohled globální Komplexní dotazy na
více parametrů
Pohled detailní Jednoduché dotazy,
jednoduché transakce
OLAP OLTP
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í.
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
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
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
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
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
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
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
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 prodejeProdejnaTyp zbožíDodavatelVliv 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 ŠkodaTyp zboží
Digitální zrcadlovka Pentax K-5IIKategorie zboží
Digitální zrcadlovkaOddělení
ZrcadlovkyDodavatel
Pentec