Databázové systémy

Report
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
•
•
•
2. Datové sklady
•
•
velké objemy čtení, analytické dotazy, málo nebo
žádné zápisy
3. Ostatní
•
•
•
Online Transaction Processing
Základ všeho – zpracování jednotlivých operací, běžná
denní činnost
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
cz
mendelu
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, …)
Atomicity – buď musí provést všechny operace v
transakci nebo žádná.
Consistency – před a po dokončení transakce musí
být databáze konzistentní (během transakce
nemusí).
Isolation – souběžně spuštěné transakce se chovají
jako transakce spuštěné sériově.
Durability – 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
•
•
•
•
•
Basically Available, Soft state, Eventual 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 = keyvalue) = 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?

similar documents