Databázové systémy

Download Report

Transcript Databázové systémy

Databáze (obecně)

• • • • • •

data

– údaje získané pozorováním, měřením

informace

– interpretace dat a vztahů mezi nimi (data, která snižují míru entropie) databáze / báze dat (DB) – obecná struktura pro uchovávání dat systém řízení báze dat (SŘBD) – programové prostředky pro správu dat v databázi

databázový systém

(DBS) – databáze a systém řízení báze dat rozhraní – prostředky k propojení systémů

• • • • Cílem HZD je získat z dat informace.

• • Nejvíce aplikací pro hromadné zpracování dat tvoří informační systémy: podnikové IS specializované (speciální) IS Podnikový informační systém je tvořen množstvím agend (např: sklad, účetnictví, mzdy, výroba, evidence docházky).

Specializovaný IS je úzce zaměřený na konkrétní činnost.

• • • • • Často bývá spojená datová a aplikační vrstva.

Informační systém je tvořen souborem nezávislých programů – agend.

IS je tvořen souborem několika specializovaných ISů.

Formát a struktura dat jsou definované potřebami každé agendy.

• • • problémy: závislost dat a programu (agendy) nekompatibilita a izolovanost redundance a nekonzistence

• • • • • • izolovanost a nekompatibilita dat – datový formát definuje aplikace, jiná aplikace nemůže data využívat

redundance

(nadbytečnost) – jedny údaje jsou uloženy na několika místech

nekonzistence

(rozpory) – vzniká při neúplné aktualizaci redundantních dat špatné možnosti zabezpečení dat pro neplánované dotazy je potřeba nová aplikace problém zajištění integrity dat

• • •

integrita

(celistvost) – stav databáze, ve kterém jsou všechna data úplná a korektní • • • příklady: věk je kladné číslo každý člověk má věk (pole věk nesmí být prázdné) každý občan ČR má trvalé bydliště • • • k porušení integrity může dojít: špatným ošetřením vstupních dat chybnou definicí databáze (chybou aplikace) chybou databázového serveru

• • • Důvody použití: • • Paralelní vývoj více aplikací a nerozvinutá systémová integrace: Různé aplikace v průběhu vývoje mohou začít požadovat stejná data Sloučení společností s různými informačními systémy Lenost – Jednodušší počáteční vývoj, mělo by se ale počítat s budoucí integrací

• • • • • Data jsou uložena a spravována centrálně.

Datové soubory mají jednotnou vnitřní strukturu, skrytou vnějším aplikacím.

K datům je možno přistupovat jen prostřednictvím rozhraní databázového systému (SŘBD).

Je vyřešen současný přístup více klientů, oprávnění, integrita dat atd.

Operace v DBS jsou optimalizované, mají malou časovou složitost.

• • • • • • • 1. OLTP Online Transaction Processing Základ všeho – zpracování jednotlivých operací, běžná denní činnost • 2. Datové sklady velké objemy čtení, analytické dotazy, málo nebo žádné zápisy • 3. Ostatní speciální analýzy – zpracování textu, obrazu, predikce atd.

Různé technologie, ale SQL se používá všude Dále se soustředíme především na OLTP

• • • • • • soubor prostředků k modelování a popisu dat výstupem je databázové schéma – deklarace databáze (šablona databáze) • • • • různé prostředky: funkce grafy relace (množiny) objekty Databáze je něco, do čeho se dají uložit data.

Databázové schéma je popis struktury databáze.

Objektový DM a relační DM jsou různé přístupy k řešení jednoho problému.

• • • • Data jsou organizována ve stromových strukturách.

• • Mezi záznamy je pouze vztah rodič-potomek: potomek má jednoho rodiče rodič může mít více potomků Pro databáze není příliš výhodné a obecně se nepoužívá.

• • • Speciální využití: DNS, LDAP Souborové systémy XML mendelu cz .

seznam com

• • • • • Vznikl rozšířením hierarchického modelu.

Každá datová položka (uzel) může být propojena a libovolným počtem jiných položek.

Umožňuje vazby 1:N, N:M i cyklické vazby.

• • Jedná se spíš o koncept, který již není příliš funkční: univerzální a velice flexibilní těžko popsatelný a implementovatelný Někdy je mezi síťové modely zařazován HTML DOM (Document Object Model)

• • • • • popis dat pomocí relací (tabulek) navržen v roce 1970 (E. F. Codd, v rámci projektu IBM) je postaven na matematickém aparátu - relační algebře využívá standardizovaný dotazovací jazyk

SQL

velmi rozšířený: • • • • • • • Adaptive Server Enterprise (Sybase) DB2 (IBM) Firebird MySQL Oracle Database PostgreSQL SQL Server (Microsoft)

• • • • • • • • • • kombinace relačního a objektového modelu: dotazovací jazyk SQL nebo jiný relační implementace struktury modelování dat pomocí objektů zapouzdření hierarchie tříd rychlejší dobře podporuje vícehodnotové atributy místo záznamů se pracuje s instancemi objektů existují i čistě objektové databáze

• • • • • Transakce – jedna akce, kterou tvoří množina dílčích operací (např. vložení osoby včetně kontaktních údajů, schůzek, …)

A

tomicity – buď musí provést všechny operace v transakci nebo žádná.

C

onsistency – před a po dokončení transakce musí být databáze konzistentní (během transakce nemusí).

I

solation – souběžně spuštěné transakce se chovají jako transakce spuštěné sériově.

D

urability – dokončená transakce je permanentně uložena.

• • Databáze založené na principu ACID využívají jazyk SQL, jazyk podobný, nebo upravené SQL • • • • • Alternativa je BASE

B

asically

A

vailable,

S

oft state,

E

ventual consistency pokud nebude položka již aktualizována, tak časem (Eventually) budou všechny dotazy vracet stejný výsledek U běžného informačního systému je nepoužitelné.

Použitelné pro masivní distribuované služby.

NoSQL databáze (sloupcové, klíč-hodnota = key value) = asociativní pole, grafové, dokumentové,…)

• • • • • • • • • Může jeden databázový systém obsahovat více databází?

Co je přímým důsledkem redundance dat v informačním systému?

Je možné v ACID databázi spustit dvě transakce současně?

Je informační systém jen software?

Jsou lepší data nebo informace?

Jak se přenáší informace?

Musí každý databázový systém používat jazyk SQL?

Je pro účetní systém lepší BASE nebo ACID databáze?

Je objektový datový model úplně stejný jako relační datový model?