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ů.
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í:
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ů:
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