User Tools

Site Tools


statnice:vyvoj:otazka17

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
statnice:vyvoj:otazka17 [06.05.2008 15:01] xvalo07statnice:vyvoj:otazka17 [18.05.2008 13:51] (current) xvalo07
Line 9: Line 9:
   * Rozhodněte se, zda jsou objektové databáze dosud nejvyšším vývojovým stupněm databází, nebo jen další alternativou.    * 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?   * 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 [[statnice:slovnik:eis|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.
statnice/vyvoj/otazka17.1210078919.txt.gz · Last modified: 06.05.2008 00:00 (external edit)