Analýza struktury prezentací

Úvod
Prezentátor
Analýza
Kontext
Analýza struktury prezentací
Pohled uživatele na prezentační systém
Požadavky na data z pohledu bezpečnosti
Struktura SQL dotazů
Shrnutí analýzy

Counter

V této kapitole popíšeme logiku prezentace údajů z databáze, kterou přijímáme za podstatný předpoklad celého systému. Jedná se zde předně o strukturu prezentace z pohledu datového obsahu. V úvahu bereme pouze relační databáze.

Údaje uložené v databázi lze prezentovat řadou způsobů. Jedno však mají tyto způsoby zpravidla společné. Databáze je většinou součástí většího celku -- informačního systému -- a většina výstupů se provádí v rámci tohoto informačního systému automatizovaně. Důsledkem této automatizace je to, že prezentace je strukturovaná. Tím máme na mysli, že údaje vyzískané z informačního systému se vyskytují ve stejném textovém kontextu. Toto je důsledek automatizovaného zpracování pomocí různých programovacích nástrojů, ve kterých je mnohem jednodušší zajistit vždy stejnou strukturu výstupu, než zajistit opak - rozdílnou strukturu výstupu. Strukturovanost můžeme zdůvodnit rovněž následovně. Při výstupu údajů z databáze dochází k transformaci dat do objektu prezentace. Transformace může probíhat automatizovaně, a potom v dnešních podmínkách pomocí nestochastických algoritmů, které stejné vstupy transformují na stejné výstupy, nebo neautomatizovaně, a potom je transformující funkcí osoba, která sestavuje výstup. Tento druhý, neautomatizovaný případ není předmětem této práce.

Automatizovaná transformace údajů uložených v databázi do prezentace musí být nějakým způsobem nadefinována. Tato definice musí mít formu, které rozumějí prostředky zprostředkovávající automatizaci, tj. většinou musí být napsána v nějakém programovacím jazyku. Rozborem programů starajících se o tuto transformaci zjistíme, že většinou fungují následujícím způsobem:

  1. Inicializují spojení s databází.
  2. Položí databázi SQL dotaz.
  3. V programu obsahují něco na způsob šablony, ve které nahradí odkazy na data získanými daty. Tento text, ve kterém se už vyskytují požadované údaje, publikují (zašlou na výstup).
  4. Poddotazy provádějí dle bodů 2 a 3.
Takovéto zpracování dokumentu lze v XML zapsat např. následovně (elementy reprezentují procesy a podelementy podprocesy):
<dokument>
                              <dotaz/>
                              <formatovani>
                              <poddotaz/>
                              <formatovani_poddotazu/>
                              </formatovani>
                              </dokument>
                              

Příklad 13: Prezentace údajů z databáze
Při takto strukturovaném zpracování dostáváme stejně strukturovanou prezentaci.

Strukturovanost se projevuje v tom, že údaje bývají řazeny hierarchicky, takže tvoří stromovou strukturu. V každém listu tohoto stromu s daty získanými z databáze se vyskytují data z jednoho řádku databáze. Tato data v jednom řádku jsou v zásadě ve vztahu 1:1. To už vyplývá ze samotné podstaty řádku z výsledku SQL dotazu. K získání údajů ve vztahu 1:N se používá poddotazů.

Dalším důvodem, pro který jsou hierarchicky strukturované prezentace vhodné, je požadavek na minimalizaci redundance údajů. V hierarchické prezentaci by měl být každý údaj prezentován jednou, a detaily k údaji by měly být předmětem poddotazů, a tedy i v prezentaci by se měly jevit jako podstruktura.

Jako závěr a výsledek této kapitoly uvedeme tři předpoklady, kterými se budeme při návrhu řídit, a které jsme se zde pokusili podpořit.

  1. Prezentace údajů bývá hierarchická.
  2. Hierarchická stromová struktura dotazů koresponduje se stromovou strukturou prezentace údajů z těchto dotazů.
  3. Údaje v rámci jednoho řádku dotazu jsou ve vztahu 1:1.