Souborová koncepce - Informační systém BIVŠ

Download Report

Transcript Souborová koncepce - Informační systém BIVŠ

Ukládání dat
aneb
kam s nimi?
souborová—databázová
koncepce
Souborová koncepce
 Data
S
jsou uložena v izolovaných souborech.
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)
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
nezávisle na aplikačních
programech
 Existuje
Databáze obsahuje
 Datové
prvky (záznam elementárních
hodnot)
 Vztahy
mezi prvky (datové struktury)
 Integritní
 Schéma
omezení (podmínky)
(popis dat pro uživatele)
Databáze – výhody
 Nezávislost
 Efektivní
na programech
přístup k datům
 Zkrácený
vývoj aplikací
 Zajištěna
integrita dat
Databáze – výhody
 Zajištěna
 Řízená
správa dat a transakcí s nimi
 Možnost
 Opravy
ochrana dat
přístupu více uživatelů
chyb a zotavení
Databáze – výhody jinak
 Perzistence
– data nezávislá na programech
– 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
 Sdílení
SŘBD
 Systém
řízení báze dat
 Centrální
správa databáze
sw systém pro řízení sdíleného
přístupu k databázi
 Obecný
 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ý

Datový

Logický
ano–ne

Automatické číslo (počítadlo)
1,2,3…

Poznámka

Objekt (např. tabulka z Excelu)

Hypertextový odkaz
12345
12. ledna
kouše
*.xls
www.bivs.cz
Data
Atribut 1
Atribut 2
Atribut 3
…
Záznam
(věta)
Položka
…
Atribut n
Záznam, věta
J i r i
25 pozic
H a s e k
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
C1
Adam
20090110
C2
Blažej
20091010
C3
Cyril
20090612
C4
David
A-2
20090715
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
 Vychází
z přirozeného uspořádání
 Stromová
 Vztah


nejstarší
struktura (rodokmen)
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
C1 Adam
C2 Blažej
C3 Cyril
20090715
20090919
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
Zkouška v kurzu
Student
číslo
popis
číslo
popis
C1
Adam
A-1
databáze
2/2 z, Zk
C2
Blažej
A-2
angličtina
0/2 z
C3
Cyril
C4
David
atd.
atd.
Vztahy
čí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
26
Relační databáze
 Nejpropracovanější
jsou relace – dvourozměrné
tabulky s pojmenovanými sloupci
 Pořadí sloupců je libovolné
 Nevýhoda
 Základem

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í
 Různá
se liší podle implementace
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ě
součástí všech relačních
databázových systémů
(Progres, INFORMIX, SyBase, Oracle)
 SQL
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í.
databáze – odpovědi
na komplexní dotazy pracující
s více dimenzemi
 OLAP
 Umožňuje
uspořádat velké objemy dat
OLAP
 Základem
je tvorba dotazů a sestav
 Zpracovávají
 Vytváří
data z klasických databází
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:
– čísla, hodnoty (náklady, výnosy,
zisky, ztráty, prodeje, počty reklamací…)
 Míra
 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
 „Střední
(hybrid OLAP)
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
Data jednorázově
nahrána
 Nejsou průběžně
akrtualizována
 Neukládají se v 3NF
formě
 Používá více indexů
než OLTP

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
Pohled globální
 Komplexní dotazy na
více parametrů

OLTP
Pohled detailní
 Jednoduché dotazy,
jednoduché transakce

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í.
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)
Srovnávací tabulka
Z
Funkce
referátu Zdeňka
Koubka
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
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
 Orientace
popsal William Inmon
na subjekt
 Integrovanost
 Nízká proměnlivost
 Historizace
Orientace na subjekt
Relační databáze
Co nejmenší
redundance
 Normalizace dat (3NF)
 Vnitřní provázání celků
 Malé nároky na paměť

Datový sklad
Separace funkčních
celků
 Struktura přehledná
pro uživatele
 Velké nároky na paměť

Integrovanost
Relační databáze
Provozní aplikace
pracuje se „svými“
specifickými daty
 Úlohu řeší jen s těmito
daty

Datový sklad
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

Data jsou průběžně
upravována a
doplňována
Datový sklad
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
Data udržována
v aktuální podobě
 Jiný stav uživatele
obvykle nezajímá

Datový sklad
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ží
Digitální zrcadlovka Pentax K-5II
 Kategorie zboží
Digitální zrcadlovka
 Oddělení
Zrcadlovky
 Dodavatel
Pentec
