670 likes | 830 Views
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.
E N D
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
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 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 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ý 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
Data Položka
Záznam, věta JiriHasek 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…
Hierarchický model • Seřazení podle názvu kurzu
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
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 Student Zkouška v kurzu Vztahy
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 uvedenobuď muž nebo žena
StructuredQueryLanguage – SQL • Sada příkazů pro ovládání databází • První byl SEQUEL (StructuredEnglishQueryLanguage) – 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)
StructuredQueryLanguage – SQL V rámci tohoto standardu byly definovány následující podskupiny • DML – Data ManipulationLanguage(Příkazy pro manipulaci s daty) • DDL – Data DefinitionLanguage(Příkazy pro definici struktury databáze) • DCL – Data ControlLanguage(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 AnalyticalProcessing • 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. • OLAPdatabá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 (relationalOLAP)
MOLAP, HOLAP • MOLAP (multidimensionalOLAP). • 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.