Table of Contents
17. Databázové systémy
Podstata. Stručné srovnání jednotlivých typů databázových systémů. Relační databázové systémy – charakteristika, kritéria „relačnosti“. Kritéria výběru databázového systému. Trendy databázových systémů.
Úloha
Předpoklady: Pracujete v projektu vývoje IS objektově-orientovaným způsobem. Zákazník se obává, zda použitý databázový systém bude dostatečně progresivní a ptá se, zda uvažujete o použití objektové databáze, o jejíž existenci slyšel.
Zadání:
- Rozhodněte se, zda jsou objektové databáze dosud nejvyšším vývojovým stupněm databází, nebo jen další alternativou.
- Co doporučíte svému zákazníkovi a podle čeho se budete rozhodovat?
Teorie
Podstata databázových systémů spočívá v poskytování pokud možno jednoduchého mechanismu pro ukládání, vyhledávání a prohlížení dat. Je to určitá vrstva softwarového řešení poskytující služby vrstvám vyšším.
Jednotlivé typy: síťová databáze (už se víceméně nepoužívá – tabulky zřetězené indexy), relační databáze (nejrozšířenější model – viz. dále), objektově orientované databáze (zvláštní model pro některá nestandardní řešení – třeba GIS – kde je reprezentace dat velmi podobná konceptuálnímu návrhu a respektuje tradiční prvky objektově orientovaného programování – dědičnost, polymorfismus, zapouzdřenost – vstup dat jen přes vygenerované metody – typová kontrola, atd. Z hlediska reprezentace některých dat je to velmi efektivní, navíc to odpovídá současnému modelu OOP, nicméně neexistuje nad tímto modelem propracovaný logický aparát a zpracování dat je poměrně pomalé. Řada relačních systémů přidala do svých funkcí i určité objektové prvky), multidimezionální datové kostky – OLAP – speciální druh databázového systému umožňující ukládání dat v mnohodimezionální reprezentaci. To je velmi efektivní pro EIS systémy a ukládání dat do datových skladů, kde lze potom data extrémně rychle vyhledávat a třídit podle nejrůznějších kritérií. Na druhou stranu návrh takové struktury je dost rigidní.
Charakteristika relačních DB systémů: relační databázové systémy pracují s tzv. relační algebrou, která pracuje s doménami-tabulkami, jednotlivými záznamy a atributy. Definuje nad nimi minimálně tří operace: restrikce (select), projekce (kartézský součin), spojení (join). Pomocí dotazovacího jazyka může klást dotazy na databázi, která formuluje patřičné výstupy. Dotazovací jazyk je neprocedurální, tozn. že se říká co a ne jak. Nejmenší jednotnou práce relačního DB je transakce, která musí být provedena v celku. U distribuovaných řešení – dvoufázový commit – zprávy: canComit? Yes/No, doCommit – haveCommited
Relace – propojení mezi doménami. Jsou jednak trvalé a dočasné. Trvalé jsou kmenové – systémové (po celou dobu existence), dočasné – statické (jendorázový pohled), dynamické (trvalé view). Dočasné jsou dočasně v paměti.
Minimální podmínky relačnosti jsou: 1) všechna data v tabulkách, 2) neexistuje uživateli skrytá cesta, jak se k datům dostat, 3) minimálně 3 základní příkazy – restrikce, projekce, spojení a jejich provedení bez příkazů pro iteraci a rekurzi (+ existují další podmínky jako možnost existence více jazyků pro přístup, z nich minimálně jeden user-friendly, datová nezávislost – logická, fyzická, atd.)
Kritéria pro výběr DB systémů:
- jaký DB model používá (síťový, relační, objektový, OLAP)
- použitý dotazovací jazyk
- co to je za firmu, jestli brzo zkrachuje nebo ne
- jak to vypadá s dalším vývojem a podporou
- jak je řešena bezpečnost dat (šifrování, loginy)
- jak je to rychlé – má to optimalizaci nebo nemá, atd.
- jaké má nebo nemá vývojové prostředí
- jaký to má katalog
- pro jaké platformy to existuje
- možnost přenositelnosti aplikací z a na
- výkonnost, jaké má funkce, jaké datové typy podporuje
- dokonalost národního prostředí
- dokumentace, dostupnost literatury
- cena
Trendy: stále větší distribuovanost, relačnost, neprocedurálnost, použití na více platformách, podpora národních prostředí, kompatibilita, klient/server
Praxe
- Nejsou.
- Neuvažujeme. OO databáze je vhodná jen pro určité typy dat, které mají silné vnitřní vazby.
