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