User Tools

Site Tools


statnice:vyvoj:otazka17

Differences

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

Link to this comparison view

Next revision
Previous revision
statnice:vyvoj:otazka17 [06.05.2008 14:43] – vytvořeno xvalo07statnice:vyvoj:otazka17 [18.05.2008 13:51] (current) xvalo07
Line 1: Line 1:
-Databázové systémy+====== 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ů. 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: +===== Ú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. 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.  +**Zadání:** 
-Co doporučíte svému zákazníkovi a podle čeho se budete rozhodovat?+  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 [[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.1210077784.txt.gz · Last modified: 06.05.2008 00:00 (external edit)