Accelerating XPath location steps

Rozměr: px
Začít zobrazení ze stránky:

Download "Accelerating XPath location steps"

Transkript

1 České vysoké učení technické v Praze Fakulta elektrotechnická Accelerating XPath location steps Semestrální práce (36SEM) Autor: Lukáš Skřivánek skrivl1@fel.cvut.cz 2006/2007

2 Obsah Zadání...2 Úvod...3 Použité standardy...5 XML...5 Syntaxe...5 XPath...8 Syntaxe...9 Zkratky...11 Příklady...11 Implementace...13 Teoretická část...13 Optimalizace...16 Sjednocení pre a post pořadí...16 Omezení nekonečných intervalů...17 Přístup k listovým uzlům...17 Praktická část...18 Uživatelský manuál...20 Textové UI...20 Grafické UI...21 Měření náročnosti a výkonnosti...22 Závěr...24 Zdroje

3 Zadání Prostudujte a implementujte indexační algoritmus pro urychlení provádění XPath výrazů podle dokumentu Accelerating XPath Location Steps - autor Torsten Grust

4 Úvod Základním úkolem počítače je práce s daty, ať již jde o jejich uchovávání, transformaci, výpočty, přesuny v různorodých systémech nebo považování těchto dat za instrukce a jejich provádění. Vždy je nutné vědět v jakém formátu jsou tato data uložena jinak není možné je zpracovávat. Znalost formátu dat a formát dat samotný zásadně ovlivňuje použitelnost dat. Pokud si každý programátor vymyslí pro svůj program vlastní formát dat, jehož popis není nikde k dispozici, může to mít za výhodu pouze optimalizaci využívající specifik zpracovávaných dat z hlediska úspory paměťového místa a efektivnost práce s daty. Nevýhod je však celá řada. Takto uložená data jsou pro veškeré ostatní programy nečitelná, což vylučuje spolupráci jako např. další výpočty, indexace, jednoduché editace, vyhledávání pomocí dalších programů. Pokud další verze tohoto programu přestane starší formát podporovat, je třeba data složitě převádět nebo jsou navždy ztracena. Nástroje pro manipulaci s daty ve vlastním formátu si musí napsat každý vývojář sám. Naproti tomu pokud použijeme formát již vymyšlený s veřejnou specifikací můžeme využít nástroje již vytvořené, odpadá problém se spoluprací s ostatními programy a uživatel není odkázaný pouze na naši podporu formátu. Formát dat může být v zásadě dvojího druhu: textový nebo binární. Binární může šetřit paměťové místo a lze ho přímo číst a provádět, není třeba ho složitě načítat parsovat. Je výhodný obzvláště pro uchování spustitelných souborů, multimediálních dat (obraz a zvuk) a komprimovaných souborů. Textový formát je velmi jednoduchý, snadno čitelný obyčejným textovým editorem a na platformě nezávislý. Aby v tomto formátu bylo možné ukládat obecná data, musí umožňovat strukturování dat, vyjádření vztahů mezi daty a vyznačení významu jednotlivých částí textu. To se provádí pomocí tzv. značek a proto se takovým jazykům říká značkovací jazyky (markup language). Asi prvním známým značkovacím jazykem vytvořeným pro IBM byl GML (Generalized Markup Language), kde se autoři Charles Goldfarb, Edward Mosher a Raymond Lorie museli vypořádat s nekompatibilitou jednotlivých systémů a programů. Princip GML se osvědčil a byl předchůdcem vzniku jazyka, který umožňoval definici vlastních značkovacích jazyků uživatel si dle potřeb mohl vytvořit vlastní sadu značek vhodnou pro daný druh dokumentů. Tím jazykem je SGML (Standard Generalized Markup Language), který je definován v ISO normě 8879 z roku Jazyk SGML je velmi obecný metajazyk umožňující definici vlastních značkovacích jazyků pomocí DTD (Document Type Definition). DTD určuje strukturu dokumentu (jak se mohou jednotlivé značky používat např. která značka může obsahovat kterou). SGML má spoustu volitelných parametrů počínaje maximální délkou názvů značek a konče určením znaků použitelných jako oddělovače značek od textu. Tato komplexnost standardu SGML poněkud zbrzdila jeho praktické využívání. Asi nejznámější aplikací SGML je jazyk HTML (Hypertext Markup Language), který se používá pro tvorbu webových stránek. To jaké značky můžeme na stránkách používat určuje příslušné DTD, které je pro každou verzi HTML trošku jiné

5 Jazyk HTML si získal velkou oblibu díky své jednoduchosti, brzy se však ukázalo, že pevně daná skupina značek, které HTML používá, nestačí. Pro účely vyhledávání a vůbec efektivnější výměny dat by bylo lepší mít možnost používání vlastních značek, které by přesně vymezily význam textu. Požadavek by tedy mohl bez problémů splnit jazyk SGML. Komplexnost standardu SGML však dělá jeho úplnou implementaci velice náročnou. Přitom se během deseti let používání SGML ukázalo, že se v praxi používá jen část jeho možností. Tato nejdůležitější podmnožina SGML proto byla vybrána jako nový jazyk XML (extensible Markup Language). XML si zachovává možnost definování značek pomocí DTD pro jednotlivé skupiny dokumentů. Na rozdíl od SGML je mnoho parametrů předem určeno a nelze je měnit délka názvů značek, použité oddělovače, speciální znaky atd. Navíc je syntaxe zápisu dokumentů v XML oproti SGML poměrně přísná, což umožní mnohem snazší a levnější vývoj aplikací, které umožňují s XML pracovat. XML tedy pochází z oblasti, která se zaměřuje na uchovávání a zpracování textových dokumentů. Pro tyto účely se XML výborně hodí, není to však jediné uplatnění. Existují standardní DTD pro uchování různých dat např. SVG (Scalable Vector Graphics) formát pro dvourozměrnou vektorovou grafiku nebo MathML (Mathematical Markup Language) - jazyk určený pro zápis matematických výrazů. Kromě přesného vzhledu výrazu dokáže zachytit i jeho přesný význam. Nic nám však nebraní vytvoření vlastního DTD a uložení jakýkoliv dat např. faktur, evidence aut, zadání hry sudoku atd. XML ovšem také není vše spasitelné a nehodí se pro některé druhy dat (např. zvuk, video) zvláště kvůli nešetrnosti k paměťovému místu a náročnosti načítání. Dovede však jiné formáty do sebe vložit nebo na ně odkazovat. Jsou tedy data, se kterými je výhodné pracovat přímo v XML, data se kterými je výhodné pracovat v jiném formátu a umožňovat export do XML a konečně data pro která se XML nehodí. Velkou výhodou XML je široká podpora v běžných programovacích jazycích (Java, PHP, C++, C#,...), ale také v nových standardech. Postupem času se z XML stala celá rodina XML standardů, které usnadňují další práci s daty a jsou vzájemně provázané. Pro dotazování nad XML jsou to XPath a XQuery, pro prezentaci dat CSS nebo XSL, pro transformace XSLT. Samotné XSLT pro výběr částí dokumentu využívá dotazovacího jazyka XPath. Tato práce je právě o jazyku XPath a jeho implementaci urychlující vyhledání částí dokumentu. Jde o indexaci dokumentu XML do relační databáze a následné dotazování nad databází

6 Použité standardy XML XML (extensible Markup Language) je obecný značkovací jazyk, který byl vyvinut a standardizován konsorciem W3C. Umožňuje snadné vytváření konkrétních značkovacích jazyků pro různé účely a široké spektrum různých typů dat. Jde o textový formát s implicitní 32-bitovou znakovou sadou ISO 10646, která dokáže pojmout všechny dnes používané znaky všech jazyků. Můžeme vytvářet dokumenty, které obsahují texty v mnoha jazycích najednou. XML dokument může být v libovolném kódování (např. windows-1250, ISO ), implicitně je to UTF-8. V každém dokumentu však musí být přesně určeno, v jakém kódování byl vytvořen, čímž odpadají problémy s konverzí z jednoho kódování do druhého. Každému je hned jasné, v jakém kódování dokument je. Specifikace XML konsorcia W3C je zdarma přístupná všem. Každý tak může bez problémů do svých aplikací implementovat podporu XML. Jazyk je určen především pro výměnu dat mezi aplikacemi a pro publikování dokumentů. Umožňuje popsat strukturu dokumentu z hlediska věcného obsahu jednotlivých částí, nezabývá se sám o sobě vzhledem dokumentu nebo jeho částí. Prezentace dokumentu (vzhled) se potom definuje připojeným stylem. Další možností je pomocí různých stylů provést transformaci do jiného typu dokumentu, nebo do jiné struktury XML. Pomocí XML značek (tagů) vyznačujeme v dokumentu význam jednotlivých částí textu. Dokumenty tak obsahují více informací, než kdyby se používalo značkovaní zaměřené na prezentaci (vzhled) definice písma, odsazení a podobně. XML dokumenty jsou tedy informačně bohatší. To lze samozřejmě s výhodou využít v mnoha oblastech. Největší přínos bude samozřejmě pro prohledávání, kdy můžeme určit i jaký význam má mít hledaný text. Syntaxe XML soubor může obsahovat obyčejný text, počáteční značky (počáteční tag <název_značky> např. <odstavec>), ukončovací značky (ukončovací tag </název_značky> např. </odstavec>), atributy uvnitř počátečních tagů (<název_značky název_atributu= hodnota > např. <odstavec jazyk= český >), - 5 -

7 komentáře (text umístěný mezi <!-- a --> např. <!-- Vysvětlující text -->), instrukce pro zpracování (<?identifikátor data?> např. <?php echo ahoj ;?>), deklaraci XML souboru (např. <?xml version="1.0" encoding="iso "?>), definici typu dokumentu nebo odkaz na definici typu dokumentu (<!DOCTYPE kořenový_element [ definice DTD ]> nebo <!DOCTYPE kořenový_element SYSTEM "URL">), sekce CDATA (<![CDATA[ text ]]> např. <![CDATA[ <p>ahoj</p> ]]>), reference na entity (&název_entity; např. <), reference na znaky (&#desítkové_číslo_znaku; nebo &#xšestnáctkové_číslo_znaku; např. ñ nebo ñ). Segment XML dokumentu s počáteční a odpovídající ukončovací značkou se nazývá element. Pozor na velikost písmen: <příklad> a </Příklad> nejsou odpovídající značky. Část dokumentu mezi těmito značkami je obsah elementu, ve kterém mohou být další elementy, text, komentáře, instrukce pro zpracování, sekce CDATA i reference. Element může být také prázdný tj. nemá žádný obsah kromě atributů (např. <název_elementu></název_elementu> nebo také <název_elementu />). Atributy smí být zapsány pouze v počátečních značkách a slouží většinou k upřesnění obsahu elementu. Hodnotu atributu musíme vždy uzavřít do apostrofů nebo uvozovek. U jedné značky je možné použít více atributů najednou, stačí je oddělit mezerou. Komentáře slouží pro autory XML dokumentů pokud potřebují něco vysvětlit, něco si poznamenat nebo skrýt část dokumentu. Komentář je součást dokumentu, ale je ignorován. Může obsahovat cokoliv kromě posloupnosti znaků --. Při čtení XML dokumentu pokud parser (program určený na čtení XML dokumentu) narazí na instrukci pro zpracování, pak podle identifikátoru zjistí pro jaký program jsou určeny data v instrukci pro zpracování, předá je tomuto programu, ale sám je ignoruje. Tento mechanismus slouží k vložení nestandardních informací do XML dokumentu a umožňuje umístit do jednoho dokumentu instrukce pro několik různých programů. Data mohou obsahovat libovolnou sekvenci znaků vyjma sekvence?>. Deklarace XML souboru by měla být na začátku dokumentu a musí obsahovat verzi XML dokumentu z důvodu zpětné kompatibility v případě vzniku dalších verzí XML. Dále může obsahovat deklaraci kódování, ve kterém je XML dokument vytvořen, pokud deklarace chybí je kódování považováno za UTF

8 Definice typu dokumentu nebo odkaz na definici typu dokumentu se v dokumentu objeví hned za deklarací XML souboru, čímž určujeme typ XML dokumentu a omezení, jaké elementy se mohou v dokumentu použít, jaké mají atributy, v jakých jsou vztazích a další omezení. XML označuje text dokumentu jako PCDATA (parsed character data). Pokud parser narazí na značku je považována za začátek nebo konec elementu. Sekce CDATA znamená znaková data (character data), tedy data, kde výskyt značky není považován za začátek nebo konec elementu a text je považován za text prostý, bez značek a jiných prvků. Toho lze s výhodou využít pokud potřebujeme do textu vložit větší kus textu, kde se hojně používají znaky se speciálním významem jako '<', '>' a '&', a je nepohodlné je zapisovat pomocí znakových entit. Sekce CDATA oceníme zejména v případech, kdy je součástí XML dokumentu kód nějakého programu. Vzhledem k tomu, že některé znaky mají zvláštní význam (znaky '<' a '>' se používají k oddělení značek od textu, znak '&' znamená začátek reference a apostrof nebo uvozovky oddělují hodnotu atributu) nelze tyto znaky napsat do dokumentu jen tak. Pro zápis těchto znaků se používají takzvané pojmenované entity (pro '<' - < pro '>' - > pro '&' - & pro apostrof - &apos; pro uvozovky - "). Vlastní entity je možné definovat v DTD. Pokud píšeme XML dokument a nevíme jak nějaký znak napsat nebo naše kódování tento znak neobsahuje, můžeme využít reference na znak (znakové entity). Tvar reference na znak je &#desítkové_číslo_znaku; nebo &#xšestnáctkové_číslo_znaku;, kde číslo znaku určuje kód znaku ze znakové sady ISO Aby byl dokument považován za správně strukturovaný (well-formed) musí splňovat podmínky uvedené výše a navíc musí mít následující vlastnosti: Musí mít právě jeden kořenový (root) element (to znamená, že všechny elementy musí být obaleny právě jedním, kořenovým elementem). Všechny neprázdné elementy musí být ohraničeny počáteční a ukončovací značkou (pro každý počáteční tag musí dokument obsahovat odpovídající ukončovací tag a opačně). Prázdné elementy mohou být označeny zkrácenou značkou. Všechny hodnoty atributů musí být uzavřeny v uvozovkách nebo apostrofech. Elementy mohou být vnořeny, ale nemohou se překrývat; to znamená, že každý (ne kořenový) element musí být celý obsažen v jiném elementu (nelze dělat <b> <i> </b> </i>). Pokud je XML dokument správně strukturovaný (well-formed) a zároveň splňuje podmínky daného DTD je tzv. validní (valid)

9 Příklad <?xml version="1.0" encoding="utf-8"?> <autobazar> <auto> <typ>škoda Favorit</typ> <barva>bílá</barva> <cena měna="kč">15 000</cena> <rokvýroby>1990</rokvýroby> </auto> <auto> <typ>ford Escort</typ> <barva>modrá</barva> <cena měna="kč">12 000</cena> <rokvýroby>1987</rokvýroby> </auto> </autobazar> XML má stromovou strukturu XPath Obr. 1: XML dokument stromová struktura XPath (XML Path Language) je dotazovací jazyk nad XML pocházející od konsorcia W3C umožňující adresovat část XML dokumentu. Lze jím popsat cestu k elementům, atributům, textům, komentářům a instrukcím pro zpracování, které tvoří uzly XML dokumentu. Nelze popsat cestu k referencím nebo CDATA sekcím, protože ty jsou nahrazeny už parserem. Výrazu může odpovídat buď právě jeden uzel, pak lze výraz chápat jako adresu v rámci dokumentu, nebo více uzlů, pak lze výraz chápat jako vyhledávání v dokumentu. Dotazovací jazyk XPath je naproti např. jazyku SQL, který pracuje s tabulkami, navržen pro práci s datovou strukturou stromu, což odpovídá datové struktuře XML. XPath se nejčastěji používá v XSLT pro výběr množiny zpracovávaných uzlů a v XPointer pro označení adresy uvnitř dokumentu

10 Syntaxe Výraz v jazyce XPath je posloupnost přechodů (mezi jednotlivými sadami uzlů), oddělených lomítky a tvoří cestu mezi uzly. Odtud získal i své jméno XML Path Language (path - cesta). Každý přechod je určen pomocí tří složek osy (axis), testu uzlu (node test), predikátu (predicate), ve tvaru osa::testuzlu[predikát]. Specifikace osy popisuje směr pohybu po stromové reprezentaci XML dokumentu. Osa může nabývat hodnot ancestor (předci), ancestor-or-self (předci nebo aktuální uzel), attribute (atributy), child (děti), descendant (potomci), descendant-or-self (potomci nebo aktuální uzel), following (následníci), following-sibling (následníci sourozenci), namespace (prostor jmen), parent (rodič), preceding (předchůdci), preceding-sibling (předchůdci sourozenci), self (aktuální uzel). Pokud není osa uvedena, použije se implicitní hodnota child (děti). Podle osy lze poznat typ uzlů, se kterými se bude pracovat. U osy attribute jsou to atributy, pro namespace je to namespace a pro ostatní jsou to elementy. Obr. 2: Osy jazyka XPath - 9 -

11 Test uzlu se provádí na uzlech určených osou a je pravdivý tehdy pokud odpovídá typ a název uzlu. Například descendant::auto vybere všechny elementy s názvem auto, které jsou potomkem aktuálního uzlu. Pokud aktuální uzel nemá potomky s názvem auto je výsledkem prázdná množina uzlů. attribute::měna vybere všechny atributy měna aktuálního uzlu. Pokud takové atributy nemá, výsledkem je opět prázdná množina uzlů. Pokud za test uzlu uvedeme * jsou vybrány všechny uzly daného typu. Například child::* vybere všechny elementy, které jsou dětmi aktuálního uzlu. Test uzlu text() je pravdivý pro všechny textové uzly. Například descendant::text() vybere všechny textové uzly, které jsou potomky aktuálního uzlu. Obdobně test uzlu comment() je pravdivý pro všechny uzly typu komentář a test uzlu processing-instruction() je splněný pro všechny uzly instrukcí pro zpracování. Test uzlu node() je pravdivý pro všechny uzly všech typů. Z celého XML dokumentu jsme nejprve pomocí specifikace osy vybrali uzly odpovídající směru osy vzhledem k aktuálnímu uzlu, dále jsme tyto uzly zredukovali na uzly vyhovující testu uzlu podle jména a typu a jako poslední filtr máme k dispozici predikáty. Predikáty nejsou povinné, může jich být v každém kroku nula, jeden nebo více. Pokud jich je více, jsou vyhodnocovány postupně zleva doprava. Predikát je pravdivostní výraz, který se vyhodnocuje pro každý uzel, který zatím vyhovuje cestě. Pokud je pro daný uzel splněný, zůstává tento uzel ve vybrané množině uzlů, pokud ne, je uzel z množiny vyřazen. Predikáty tedy snižují počet vyhovujících uzlů. Predikát kromě standardních výrazů (porovnání, aritmetické operace ) může obsahovat i volání funkcí. Existuje sada funkcí, kterou by měla každá implementace jazyka XPath umět, jde o funkce pro práci s pořadím uzlů (např. poslední uzel), s textem (např. zřetězení), s logickými výrazy (např. negace) a s čísly (např. suma nebo zaokrouhlení). Jazyk XPath pracuje nad stromovou strukturou dokumentu XML, která má ale umělý kořenový uzel '/', který neodpovídá žádnému elementu ani atributu v dokumentu, jeho dítětem je vždy kořenový element dokumentu a případně další uzly (komentáře, instrukce pro zpracování). Cesta jazyka XPath může být dvou druhů: absolutní nebo relativní. Absolutní začíná znakem '/' a vychází vždy z kořenového uzlu, relativní nezačíná znakem '/' a počáteční aktuální uzel může být určen mimo XPath, například v XSLT je to právě zpracovávaný uzel dokumentu. Dotaz v jazyce XPath tedy není ve formátu XML i když patří do rodiny standardů XML. Mohlo by se to zdát zvláštní, protože stejné dotazy by bylo možné zapsat i ve formátu XML. Syntaxe jazyka XPath však byla tvořena s ohledem na využití uvnitř URI (Uniform Resource Identifier - jedinečná identifikace zdroje) a v atributech elementů XML dokumentů. Výsledná množina uzlů XPath dotazu je vždy uspořádána ve stejném pořadí jako se vyskytuje v dokumentu a obsahuje každý uzel maximálně jednou

12 Zkratky K nejčastěji používaným konstrukcím jazyka XPath existují zkratky pro zkrácení a hlavně zpřehlednění zápisu: Jak již bylo řečeno implicitní hodnota osy je child::, proto child::auto = auto. Pokud chceme pohyb po ose atributů můžeme místo attribute:: použít zavináč ('@'), proto attribute::id Pro prohledávání do libovolné hloubky včetně aktuálního uzlu můžeme místo /descendant-or-self::node()/ použít dvě lomítka ('//'), proto /descendant-or-self::node()/auto = //auto. Na aktuální uzel se lze odkazovat místo self::node() pomocí tečky ('.'), ale při použití tečky nemůžeme použít predikát, například.//para je stejné jako self::node()/descendant-or-self::node()/child::para. Na rodičovský uzel se lze odkazovat parent::node(), zkratka pro to jsou dvě tečky ('..'), při použití dvou teček opět nemůžeme použít predikát Příklady auto (= child::auto) vybere všechny elementy auto, které jsou dětmi aktuálního uzlu * (= child::*) vybere všechny elementy, které jsou dětmi aktuálního uzlu /* (= /child::*) vybere kořenový element auto/* (= child::auto/child::*) vybere všechny elementy, které jsou dětmi elementu auto, který je dítětem aktuálního uzlu text() (= child::text()) vybere všechny textové uzly, které jsou dětmi aktuálního (= attribute::měna) vybere všechny atributy měna aktuálního uzlu auto/@id (= child::auto/attribute::id) vybere atribut id elementu auto, které je dítětem aktuálního uzlu para[1] (= child::para[position()=1]) vybere první element para, který je dítětem aktuálního uzlu para[last()] (= child::para[position()=last()]) vybere poslední element para, který je dítětem aktuálního uzlu

13 /dokument/kapitola[5]/část[2] (= /child::dokument/child::kapitola[position()=5]/child::část[ position()=2]) vybere druhou část páté kapitoly uvnitř elementu dokument //cena (= /descendant-or-self::node()/child::cena) vybere všechny elementy cena, které jsou potomky kořenového uzlu. To v praxi znamená, že jsou vybrány všechny elementy cena, které se nacházejí ve stejném dokumentu jako aktuální uzel

14 Implementace Teoretická část Běžné implementace jazyka XPath nejprve pomocí parseru přečtou celý XML dokument a vytvoří si v paměti stromovou reprezentaci. Dále zpracují do vnitřní formy zadaný XPath dotaz a začnou ho postupně vykonávat nad stromovou reprezentací XML dokumentu. Takto je XPath implementován snad pro všechny běžné programovací jazyky (Java, C++, PHP, C#...). Toto řešení má však několik nevýhod. Asi nejpalčivějším problémem je náročnost na operační paměť. Způsobuje ji uchování celého stromu XML dokumentu, který v paměti zabírá několikanásobně více místa než samotný dokument, což je způsobeno uložením řady pomocných informací. V případě větších XML dokumentů (řádově desítky, stovky, tisíce MB) a nedostatku operační paměti začne docházet k přesunům dat mezi operační pamětí a pevným diskem (tzv. swapování), což způsobí pomalejší načítání XML dokumentu i pomalejší vykonávání XPath dotazů. Jako alternativní řešení nabízí Torsten Grust ve své práci Accelerating XPath Location Steps načtení a uložení XML dokumentu do relační databáze a provádění XPath dotazů nad databází. Základní otázkou je, jak do tabulky uložit stromovou strukturu. Dále budeme potřebovat efektivně provádět nad touto tabulkou XPath dotazy pracující s původní stromovou reprezentací XML dokumentu. Jak již bylo řečeno, každý krok XPath dotazu se skládá ze tří částí: osy, testu uzlu a predikátu. Specifikace osy a test uzlu jsou v každém kroku povinné (pokud není uvedena osa je použita osa child::), predikát povinný není, může jich být nula, jeden a více. Predikáty v této práci zanedbáváme a zaměřujeme se pouze na osu a test uzlu tedy na pohyb ve stromové struktuře a test názvu a typu uzlu a tím na adresování (vyhledávání) částí dokumentů (hlavní účel jazyka XPath). Pro uložení stromové struktury do tabulky přiřadíme každému uzlu preorder a postorder pořadí (označíme je pre a post). Průchod preorder vždy nejprve přiřadí číslo aktuálnímu uzlu, poté přejde na levý podstrom a nakonec na pravý podstrom. Průchod postorder nejprve přejde na levý podstrom aktuálního uzlu, následně na pravý podstrom a až nakonec přiřadí číslo aktuálnímu uzlu. Je dobré si uvědomit, že preorder průchod přiřazuje elementům pořadí ve chvíli počáteční značky zatímco postoder ve chvíli ukončovací značky, pokud by procházel XML dokumentem v textové podobě. Z toho vyplývá, že všechny elementy uvnitř nadřazeného elementu mají vyšší hodnotu preorder pořadí a nižší hodnotu postorder pořadí než nadřazený element (mají počáteční značku v dokumentu později a ukončovací dříve). Takto tedy lze určit elementy ve směru osy descendant (potomci). Analogicky elementy ve směru ancestor (předci) mají nižší hodnotu preorder pořadí (počáteční značku mají v pořadí XML dokumentu dříve) a zároveň vyšší hodnotu postorder pořadí

15 (ukončovací značku mají později). U os descendant-or-self (potomci nebo aktuální uzel) a ancestor-or-self (předci nebo aktuální uzel) stačí zaměnit vetší za větší nebo rovno a menší za menší nebo rovno. Obr. 3: Přiřazení preorder a postorder pořadí Elementy ve směru osy preceding (předchůdci) mají nižší hodnotu preorder i postorder pořadí naproti tomu ve směru following (následníci) mají obě hodnoty vyšší. Pro určení os parent (rodič) a child (děti) budeme u každého uzlu evidovat hodnotu preorder pořadí rodiče a označíme ji par (parent). Rodičovský uzel je pak vždy uzel s hodnotou preorder rovnou hodnotě par aktuálního uzlu. Děti jsou potom všechny uzly s par hodnotou rovnou hodnotě pre aktuálního uzlu. Osy following-sibling (následníci sourozenci) a preceding-sibling (předchůdci sourozenci) jsou jako following (následníci) a preceding (předchůdci) jen navíc par hodnota uzlů musí být rovna par hodnotě aktuálního uzlu. Konečně osa attribute (atributy) jsou uzly, které mají hodnotu par rovnou hodnotě pre aktuálního uzlu (aktuální uzel je rodič) a typ uzlu mají atribut. Pro uložení každého uzlu potřebujeme tedy šestici pre (preorder pořadí), post (postorder pořadí), par (pre hodnota rodiče), kind (druh uzlu kořenový uzel, element, atribut, textový uzel, komentář, instrukce pro zpracování), name (název název elementu nebo atributu) a cdata (character data znaková data hodnota textového uzlu, atributu, komentáře nebo instrukce pro zpracování). Buď lze tuto šestici jednoduše uložit jako jednu tabulku nebo výhodnější řešení je uložit do tabulky pětici pre, post, par, kind a name v relaci s tabulkou obsahující pre a cdata. Primárním klíčem je u obou tabulek hodnota pre, v druhé tabulce je pre zároveň cizím klíčem relace

16 Obr. 4: Určení základních os jazyka XPath Tabulka 1: Určení os jazyka XPath osa jazyka Xpath pre post par kind name child (pre(u), ) (0, post(u)) pre(u) element * descendant (pre(u), ) (0, post(u)) * element * descendant-or-self <pre(u), ) (0, post(u)> * element * parent par(u) * * element * ancestor (0, pre(u)) (post(u), ) * element * ancestor-or-self (0, pre(u)> <post(u), ) * element * following (pre(u), ) (post(u), ) * element * preceding (0, pre(u)) (0, post(u)) * element * following-sibling (pre(u), ) (post(u), ) par(u) element * preceding-sibling (0, pre(u)) (0, post(u)) par(u) element * self pre(u) * * element * attribute (pre(u), ) (0, post(u)) pre(u) atribut * Načtení XML dokumentu se standardně provádí pomocí rozhraní DOM (Document Object Model) nebo SAX (Simple API for XML). DOM je objektově orientované rozhraní, které vrací stromovou strukturu korespondující s XML dokumentem a navíc poskytuje metody pro čtení a modifikace stromu. Pro naše využití je však DOM zbytečně časově (vytváří celý strom) i paměťově (celý dokument je v paměti) náročný

17 Rozhraní SAX převádí XML dokument na proud událostí počátek dokumentu, konec dokumentu, počáteční značka, ukončovací značka, znaková data, komentář, instrukce pro zpracování. Každá událost vyvolá korespondující obsluhující metodu a předá ji načtené hodnoty. Při použití rozhraní SAX budeme potřebovat paměť úměrnou pouze výšce stromu odpovídajícího XML dokumentu, ne velikosti XML dokumentu. U počáteční značky vždy přiřadíme pre hodnotu a název a uložíme je do zásobníku (velikost maximálně výška stromu XML dokumentu) a při ukončovací značky vyjmeme ze zásobníku a doplníme zbývající hodnoty. Při vykonávání XPath dotazu musíme vybrat správnou množinu řádek, reprezentující uzly XML dokumentu. XPath výraz převedeme na SQL dotaz zřetězením podmínek jednotlivých kroků XPath dotazu. Například dotaz /descendant::n1/precedingsibling::n2 převedeme na: SELECT DISTINCT x2.* FROM Xpath x0, Xpath x1, Xpath x2 WHERE x0.pre=0 AND x1.pre>x0.pre AND x1.post<x0.post AND x1.kind=1 AND x1.name='n1' AND x2.pre<x1.pre AND x2.post<x1.post AND x2.par=x1.par AND x2.kind=1 AND x2.name='n2' ORDER BY x2.pre; Kde x0 reprezentuje kontext, v našem případě kořenový uzel '/', x1 reprezentuje descendant::n1 a x2 reprezentuje preceding-sibling::n2. Pro tento typ dotazu (intervalový) jsou výhodné indexy pomocí R-stromu nebo B- stromu. Optimalizace Následující postupy nejsou nutné pro správnou funkci XPath dotazování, slouží pro snížení počtu testovaných uzlů a tím zrychlení vykonávání dotazů. Sjednocení pre a post pořadí Pokud přiřazujeme pořadí pre a post nezávisle na sobě pak při výběru uzlů na základě pravidla o pre pořadí vybereme i řadu uzlů, které vyfiltrujeme později na základě pravidla o post pořadí a obráceně. Nás však nezajímají absolutní hodnoty pre a post pořadí,

18 zajímají nás jejich vzájemné vztahy (větší než, menší než). Je proto možné a výhodné přiřazovat pre i post pořadí z jedné číselné řady. Všechny uvedené vztahy zůstávají platné, protože pořadí zůstává stejné a pre i post jsou stále unikátní. Obr. 5: Sjednocení pre a post pořadí Omezení nekonečných intervalů Pro osy child, descendant, descendant-or-self a attribute jsme schopni určit nejen dolní hranici pre pořadí, ale i horní hranici a pro post nejen horní hranici, ale i dolní. Tím se nám zmenší počet prohledávaných uzlů a zrychlí vykonávání dotazů. Při použití sjednocení pre a post pořadí (jedna číselná řada) je horní hranicí pre pořadí potomka uzlu v post pořadí uzlu v a pro post je dolní hranicí pre pořadí uzlu v. Lze tedy použít window (descendat, v) = {(pre(v), post(v)), *, *, element, *} nebo window (descendat, v) = {*, (pre(v), post(v)), *, element, *} Jak již bylo řečeno obdobně pro child, descendant-or-self a attribute. Přístup k listovým uzlům Pro některé kroky XPath dotazu je předem zřejmé, že výstupem budou listové uzly. Například jde o všechny dotazy po ose atributů, kroky s testem uzlu text(), comment() nebo processing-instruction(). Všechny listové uzly při sjednocení pre a post pořadí (jedna číselná řada) splňují post(v) = pre (v)

19 Praktická část Implementace byla provedena v programovacím jazyku Java s připojením do MySQL 5.0 databáze. Blokové schéma celé implementace by mohlo být: Obr. 6: Blokové schéma implementace jazyka XPath Vstupem je XML soubor, který se pomocí SAXu celý naindexuje do databáze. Toto obstarává objekt SAXHandler, který je vytvořen v jádru XPathu. SAXHandler obsahuje metody, které reagují na jednotlivé události průchodu XML souborem. Na začátku si vytvoří pomocný zásobník, do kterého při průchodu počáteční značkou uloží název elementu a pre pořadí. Dále postupně vkládá do databáze případné atributy. Při pozdějším průchodu ukončovací značkou vyjme název elementu a pre pořadí ze zásobníku a přidá zbylé informace (post pořadí, par, kind) a uloží je do databáze. Když narazí na komentář nebo instrukci pro zpracování přímo je vloží do databáze. Vkládání textových uzlů (hodnot atributů, textů elementů, komentářů a instrukcí pro zpracování) je úkolem metody characters. Veškerou komunikaci s databází zajišťuje objekt SQL, který je také vytvořen jádrem XPathu. Sám využívá ovladač pro připojení k databázi. Umožňuje samotné připojení k databázi, vytvoření databáze, vytvoření tabulek s danou strukturou, poté provádění dotazů nad těmito tabulkami a nakonec případné zrušení tabulek, databáze a odpojení. Databáze obsahuje pouze dvě tabulky, první se sloupci pre, post, par, kind a name a druhá se sloupci pre a cdata, které jsou v relaci přes sloupec pre. Z důvodu urychlení vykonávání XPath dotazů jsou všechny sloupce vyjma sloupce cdata indexovány pomocí B stromů. To ovšem bohužel značně zpomaluje načtení dokumentu do databáze, protože kromě vkládání jednotlivých uzlů je třeba ještě vytvářet indexy. Po načtení dokumentu přichází na řadu vykonávání Xpath dotazu. K tomu slouží jádro XPathu a XPath parser. Objekt jádra XPath jazyka se při vytvoření připojí k databázi a v případě, že se bude indexovat nový dokument vytvoří databázi a tabulky. Dále obsahuje metody index pro indexaci dokumentu, eval pro vykonání XPath dotazu a destroy pro případné zrušení vytvořených tabulek a databáze a odpojení od databáze

20 Metoda eval je složena z volání 4 dalších metod jádra XPath, které lze volat i samostatně. Jde o metody prasexpath, createquery, executesql a printtree. Metoda prasexpath vytvoří objekt XPath parser a předá mu zadaný XPath dotaz v textové podobě a zpět získá stromovou reprezentaci dotazu, z které vytvoří posloupnost querywindow (podmínek pro pre, post, par, kind a name, které musí splňovat) odpovídající jednotlivým krokům XPath dotazu. XPath parser byl vytvořen pomocí JavaCC a JJTree. Posloupnost querywindow je vstupem pro metodu createquery, ta z ní vytvoří SQL dotaz, který vykoná metoda executesql. Výsledkem SQL dotazu je ResultSet s vybranými uzly. Nakonec metoda printtree výsledek SQL dotazu převede do textové formy. Poslední částí je rozhraní pro komunikaci s uživatelem nebo jiným programem. Protože není jádro XPath ani jiná část implementace nijak pevně svázána s objektem UI, je velmi snadné nové rozhraní dotvořit. Stačí v něm využít objekt jádra XPath a jeho metod k indexaci a dotazování, viz. výše. Lze si tedy stejně snadno představit textové nebo grafické rozhraní pro uživatele jako aplikaci na webovém serveru, který generuje webové stránky. Další možností je XPath server poslouchající na zvoleném portu TCP/IP protokolu a odpovídající na dotazy klientů. Na důkaz jsou implementovány dvě rozhraní: textové a grafické. Obě jsou velice jednoduché, určené hlavně pro demonstraci celé implementace. Bližší informace o implementaci poskytuje javadoc dokumentace zdrojových textů a samotné zdrojové texty

21 Uživatelský manuál Textové UI Aplikace XPath se spouští příkazem java -jar Xpath_text.jar, následuje sada dotazů ohledně připojení k databázi, dále názvů tabulek a databáze a XML souboru. Za dotazem je vždy v hranatých závorkách implicitní hodnota odpovědi, která slouží zároveň jako příklad možné odpovědi a pokud naše odpověď je shodná stačí zadat enter. Obr. 7: Textové uživatelské rozhraní Po odpovězení dotazů a připojení k databázi se zobrazí výzva XPath dotazu a je očekáván XPath dotaz nebo příkaz exit,který ukončí program. Po zadání XPath dotazu se zobrazí výsledek dotazu a je očekáván další XPath dotaz nebo exit. Po zadání příkazu exit je ještě uživatel dotazován, zda se mají smazat veškeré tabulky i databáze vytvořené programem nebo zda se mají zachovat a potom je možné je příště znovu využít a tedy není nutné stejné XML soubory indexovat znovu a znovu. Nevýhodou je, že název databáze a tabulek si musí uživatel pamatovat sám, kde má jaký dokument, proto se doporučuje nechávat implicitní názvy tabulek (XPath a XPathCDATA) a měnit pouze název databáze

22 Grafické UI Aplikace XPath se v grafickém režimu spouští příkazem java -jar Xpath_gui.jar. Nebo s přidělením větší paměti java -Xms512m -Xmx512m -jar Xpath_gui.jar. Měla by se zobrazit obrazovka s jednoduchým menu, vstupním okénkem pro XPath dotaz, tlačítkem Proveď!, oknem pro XML dokument a oknem pro výsledek XPath dotazu. Obr. 8: Grafické uživatelské rozhraní Po spuštění musíme zvolit nad jakým dokumentem budeme provádět XPath dotazy a buď máme dokument již indexován v databázi nebo chceme indexaci nejprve provést. Pro indexaci zvolíme Soubor->Otevřít a naindexovat XML dokument. Standardně vybere XML soubor, následuje okno Připojení k databázi, kde je třeba vyplnit připojovací údaje a názvy tabulek a databáze. Nebo máme dokument již v databázi indexován pak zvolíme Soubor->Otevřít již naindexovaný XML dokument..., ale musíme vědět v jaké databázi a v jakých tabulkách je dokument umístěn. Po otevření XML dokumentu by se měl text dokumentu zobrazit v levém okénku zdrojového XML dokumentu. Do okénka pro XPath dotaz vložíme dotaz a klikneme na tlačítko Proveď!. V okénku pro výsledek by se měl objevit výsledek. Pro ukončení stačí z menu vybrat Soubor->Konec. Následují dotazy, zda se mají odstranit vytvořené tabulky a databáze nebo ponechat dokument v databázi. V případě mazání databáze je nutné vědět, že pokud obsahuje tabulky jiného programu budou odstraněny!

23 Měření náročnosti a výkonnosti Paměťová náročnost se samozřejmě odvíjí od objemu dat XML dokumentu, ale samotná vnitřní implementace vyžaduje paměť při indexaci pouze úměrnou hloubce stromu XML dokumentu. Nevyžaduje paměť na vytváření DOM stromu nebo něčeho podobného. Při dotazech vyžaduje paměť pouze na výsledek dotazu. Bohužel však v případě grafického uživatelského rozhraní je paměťově velmi náročné zobrazení dokumentu a výsledku XPath dotazu obzvláště ve swing komponentech. Časová náročnost se také odvíjí od velikosti XML dokumentu, od počtu uzlů. Rychlost vykonání XPath dotazů závisí na výkonnosti počítače, na kterém se dotaz provádí (výkon CPU, velikost a rychlost operační paměti, doba přístupu k médiu s daty) a programovém vybavení počítače (operační systém, souborový systém, databázový systém). Následující testy byli provedeny na počítači s parametry: AMD 1,9 GHz CPU, 1GB RAM 400MHz DDR, EIDE HDD 320GB, 8MB cache. Tabulka 2: Testované XML dokumenty Název Popis Velikost Počet uzlů autobazar.xml demonstrační dokument z textu 351 B 23 docbook_xsl.xml docbook dokument o XSL 32 KB 1362 docbook.xml docbook dokument o fomátu docbook 3 MB nasa.xml data z NASA 25 MB Tabulka 3: Naměřené doby vykonávání XPath dotazů Soubor XPath dotaz XPath Accelerator Stylus Studio 2007 XML Professional Suite XPath builder by buba software XPath Explorer by Purple Technology autobazar.xml //typ 1 s 1 s 1 s 1 s docbook_xsl.xml /article/articleinfo/* 1 s 1 s 1 s 1 s docbook_xsl.xml //title/text() 1 s 1 s 1 s 1 s docbook.xml //LISTITEM/PARA/text() 1 s 2 s 5 s neotevřel docbook.xml //LINK 2 s 34 s 30 s neotevřel docbook.xml //ENTRY 4 s 17 s 25 s neotevřel nasa.xml //author/initial 4 s 40 s 35 s neotevřel nasa.xml //title 5 s 50 s 36 s neotevřel nasa.xml //para/text() 19 s 235 s 170 s neotevřel nasa.xml //units/parent::* 33 s 690 s 620 s neotevřel

24 Naměřené doby vykonávání XPath dotazů Doba vykonávání dotazu [s] XPath Accelerator Stylus Studio 2007 XML Professional Suite XPath builder by buba software //typ /article/articleinfo/* //title/text() //LINK //ENTRY //author/initial //title //para/text() //units/parent::* XPath dotazy

25 Závěr Z naměřených výsledků je vidět, že tato metoda je použitelná, avšak samozřejmě není dokonalá. Nejprve je důležité si uvědomit, že dotazování předcházela indexace dokumentu do databáze, což může trvat několik minut, ale také několik hodin (v případě souboru nasa.xml to byla téměř hodina). Dále je implementována jen část XPath jazyka, chybí predikáty, které nemusí být snadné přidat při zachování efektivnosti vykonávání dotazů. Další vadou je nutnost celé nové indexace XML dokumentu při změně XML dokumentu. Pokud bychom chtěli měnit indexovaný XML dokument v databázi museli bychom použít jinou celou indexační strategii. Budoucnost ukládání XML dokumentů a dotazování se nad nimi patří zřejmě spíše objektovým nebo XML nativním databázím než relačním databázím, přesto metoda popsaná v tomto dokumentu v současné době dosahuje dobrých výsledků zvláště u velkých XML dokumentů

26 Zdroje [1] Torsten Grust: Accelerating XPath Location Steps [2] XML Path Language - [3] Extensible Markup Language [4] Jiří Kosek: XML pro každého [5] XML pro každého [6] XPath [7] Brendan Briody: Accelerating XPath Location Steps [8] MySQL 5.0 Reference Manual [9] Java[TM] 2 Platform Standard Edition

PRG036 Technologie XML

PRG036 Technologie XML PRG036 Technologie XML Přednáší: Irena Mlýnková (mlynkova@ksi.mff.cuni.cz) Martin Nečaský (necasky@ksi.mff.cuni.cz) LS 2010 Stránka přednášky: http://www.ksi.mff.cuni.cz/~mlynkova/prg036/ 1 Osnova předmětu

Více

24. XML. Aby se dokument XML vůbec zobrazil musí být well-formed (správně strukturovaný). To znamená, že splňuje formální požadavky specifikace XML.

24. XML. Aby se dokument XML vůbec zobrazil musí být well-formed (správně strukturovaný). To znamená, že splňuje formální požadavky specifikace XML. 24. XML Úvod Značkovací jazyk XML (extensible Markup Language) vznikl ze staršího a obecnějšího jazyku SGML (Standard Generalized Markup Language). XML byl vyvinut konsorciem W3C, aby poskytl standardní

Více

Jazyk XSL XPath XPath XML. Jazyk XSL - rychlá transformace dokumentů. PhDr. Milan Novák, Ph.D. KIN PF JU České Budějovice. 9.

Jazyk XSL XPath XPath XML. Jazyk XSL - rychlá transformace dokumentů. PhDr. Milan Novák, Ph.D. KIN PF JU České Budějovice. 9. Jazyk XSL - rychlá transformace dokumentů 9. prosince 2010 Osnova 1 Jazyk XSL Úvod Princip zpracování pomocí stylů Formátování dokumentu pomocí XSL FO Osnova 1 Jazyk XSL Úvod Princip zpracování pomocí

Více

Komprese a dotazování nad XML dokumenty

Komprese a dotazování nad XML dokumenty Komprese a dotazování nad XML dokumenty Prezentace diplomové práce Lukáš Skřivánek České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů květen 2007 Vedoucí práce: Ing. Miroslav

Více

Základy XML struktura dokumentu (včetně testových otázek)

Základy XML struktura dokumentu (včetně testových otázek) Základy XML struktura dokumentu (včetně testových otázek) Otakar Čerba Oddělení geomatiky Katedra matematiky Fakulta aplikovaných věd Západočeská univerzita v Plzni Přednáška z předmětu Počítačová kartografie

Více

Využití XML v DB aplikacích

Využití XML v DB aplikacích Využití XML v DB aplikacích Michal Kopecký Výběr ze slajdů k 7. přednášce předmětu Databázové Aplikace (DBI026) na MFF UK Komunikace aplikace s okolím Databázová aplikace potřebuje často komunikovat s

Více

Syntaxe XML XML teorie a praxe značkovacích jazyků (4IZ238)

Syntaxe XML XML teorie a praxe značkovacích jazyků (4IZ238) XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2009/10/01 19:46:33 $ Obsah Základy syntaxe... 3 Elementy a atributy... 4 Znakový model XML... 5 Komentáře... 6 Instrukce

Více

XML terminologie a charakteristiky. Roman Malo

XML terminologie a charakteristiky. Roman Malo XML terminologie a charakteristiky Roman Malo XML extensible Markup Language (rozšiřitelný značkovací jazyk) Verze 1.0, 1.1 http://www.w3.org/xml Rozdíly v podpoře různých znakových sad a práci s řídícími

Více

Systém elektronického rádce v životních situacích portálu www.senorady.cz

Systém elektronického rádce v životních situacích portálu www.senorady.cz Systém elektronického rádce v životních situacích portálu www.senorady.cz Obec Senorady Miroslav Patočka 2006 Obsah: 1. Úvodní informace 1.1 Informace pro uživatele 1.1.1 Přístupnost HTML, PDA, WAP, XML

Více

Jazyky pro popis dat

Jazyky pro popis dat Realizováno za finanční podpory ESF a státního rozpočtu ČR v rámci v projektu Zkvalitnění a rozšíření možností studia na TUL pro studenty se SVP reg. č. CZ.1.07/2.2.00/29.0011 Jazyky pro popis dat Pavel

Více

Distanční opora předmětu: Databázové systémy Tématický blok č. 5: Dotazovací jazyk XPath Autor: RNDr. Jan Lánský, Ph.D.

Distanční opora předmětu: Databázové systémy Tématický blok č. 5: Dotazovací jazyk XPath Autor: RNDr. Jan Lánský, Ph.D. Distanční opora předmětu: Databázové systémy Tématický blok č. 5: Dotazovací jazyk XPath Autor: RNDr. Jan Lánský, Ph.D. Obsah kapitoly 1 XPath 1.1 Cesta 1.2 Osy 1.3 Test uzlu 1.4 Podmínka 1.5 Vestavěné

Více

APLIKACE XML PRO INTERNET

APLIKACE XML PRO INTERNET APLIKACE XML PRO INTERNET Jaroslav Ráček Fakulta Informatiky, Masarykova Universita Brno Abstrakt Text je věnován možnostem využití XML technologie pro prezentaci dokumentů pomocí Internetu. V úvodu je

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2006/2007 c 2006 2007 Michal Krátký Tvorba informačních systémů 1/37 Obsah 8.

Více

Ukládání a vyhledávání XML dat

Ukládání a vyhledávání XML dat XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2014/12/04 19:41:24 $ Obsah Ukládání XML dokumentů... 3 Ukládání XML do souborů... 4 Nativní XML databáze... 5 Ukládání

Více

Uspořádání klient-server. Standardy pro Web

Uspořádání klient-server. Standardy pro Web Návrh a tvorba WWW stránek 1/11 Uspořádání klient-server klient na straně uživatele (browser, prohlížeč) server program obsluhující požadavky uživatele Standardy pro Web HTTP Hypertext Transfer Protocol

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky Otázka 20 A7B36DBS Zadání... 1 Slovníček pojmů... 1 Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky... 1 Zadání Relační DB struktury sloužící k optimalizaci

Více

XML databáze. Přednáška pro kurz PB138 Moderní značkovací jazyky Ing. Petr Adámek

XML databáze. Přednáška pro kurz PB138 Moderní značkovací jazyky Ing. Petr Adámek XML databáze Přednáška pro kurz PB138 Moderní značkovací jazyky 22. 4. 2003 Ing. Petr Adámek xadamek2@fi.muni.cz http://www.bilysklep.cz/petr/ XML databáze Proč XML databáze Efektivní ukládání a vyhledávání

Více

HTML - Úvod. Zpracoval: Petr Lasák

HTML - Úvod. Zpracoval: Petr Lasák HTML - Úvod Zpracoval: Petr Lasák Je značkovací jazyk, popisující obsah HTML stránek Je z rodiny SGML jazyků, jako např. XML, DOCX, XLSX Nejedná se o programovací ale značkovací jazyk Dynamičnost dodávají

Více

8.2 Používání a tvorba databází

8.2 Používání a tvorba databází 8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam

Více

Prezentace XML. XML popisuje strukturu dat, neřeší vzhled definice vzhledu:

Prezentace XML. XML popisuje strukturu dat, neřeší vzhled definice vzhledu: Realizováno za finanční podpory ESF a státního rozpočtu ČR v rámci v projektu Zkvalitnění a rozšíření možností studia na TUL pro studenty se SVP reg. č. CZ.1.07/2.2.00/29.0011 Definice vzhledu Prezentace

Více

XML a DTD. <!DOCTYPE kořenový_element [deklarace definující vlastnosti jednotlivých elementů a atributů]> externí deklarace:

XML a DTD. <!DOCTYPE kořenový_element [deklarace definující vlastnosti jednotlivých elementů a atributů]> externí deklarace: XML a DTD Kapitola seznamuje se specifikací souboru XML pomocí souboru DTD Klíčové pojmy: Definice typu dokumentu. DTD DEFINICE TYPU DOKUMENTU slouží k bližší definici XML dokumentu textový soubor s uvedenými

Více

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě PHP PHP původně znamenalo Personal Home Page a vzniklo v roce 1996, od té doby prošlo velkými změnami a nyní tato zkratka znamená Hypertext Preprocessor. PHP je skriptovací programovací jazyk, určený především

Více

Distanční opora předmětu: Databázové systémy Tématický blok č. 4: XML, DTD, XML v SQL Autor: RNDr. Jan Lánský, Ph.D.

Distanční opora předmětu: Databázové systémy Tématický blok č. 4: XML, DTD, XML v SQL Autor: RNDr. Jan Lánský, Ph.D. Distanční opora předmětu: Databázové systémy Tématický blok č. 4: XML, DTD, XML v SQL Autor: RNDr. Jan Lánský, Ph.D. Obsah kapitoly 1 XML 2 DTD 2.1 Atributy 2.2 Entity 3. XML v SQL Serveru Studijní cíle

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 23. Otázka : Datový model XML, dotazovací jazyky nad XML daty Obsah : 1 Úvod o XML 2 Vztah XML a databáze 2.1 Databázové systémy s podporou XML 2.2

Více

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT Dnešní téma Oblasti standardizace v ICT Případové studie standardizace v ICT: 1) Znakové sady 2) Jazyk 1. technická infrastruktura transfer a komunikace informací, přístup k informacím, sdílení zdrojů

Více

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_33_05 Škola Střední průmyslová škola Zlín Název projektu, reg. č. Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávací oblast Vzdělávání v informačních a komunikačních

Více

Obsah prezentace. Co je to XML? Vlastnosti. Validita

Obsah prezentace. Co je to XML? Vlastnosti. Validita Obsah prezentace Co je to XML? Vlastnosti Validita Co je to XML? EXtensible Markup Language Účelem je usnadnit sdílení dat napříč informačními systémy Popis dokumentu z hlediska věcného obsahu Vyvinuto

Více

Podpora XML v.net. Podpora XML v.net. nezávislý publicista. Jirka Kosek. http://www.kosek

Podpora XML v.net. Podpora XML v.net. nezávislý publicista. Jirka Kosek. http://www.kosek Podpora XML v.net Podpora XML v.net Jirka Kosek nezávislý publicista http://www.kosek kosek.cz Co nás čeká? Co nás čeká?! podpora XML ve VisualStudio.NET! architektura System.Xml! čtení XML dokumentů!

Více

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML ROZHRANÍ ESA XML Ing. Richard Vondráček SCIA CZ, s. r. o., Thákurova 3, 160 00 Praha 6 www.scia.cz 1 OTEVŘENÝ FORMÁT Jednou z mnoha užitečných vlastností programu ESA PT je podpora otevřeného rozhraní

Více

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části

Více

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi. Databáze Základní pojmy Pojem databáze označuje obecně souhrn informací, údajů, dat o nějakých objektech. Úkolem databáze je hlídat dodržení všech omezení a dále poskytovat data při operacích. Objekty

Více

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Databázové aplikace pro internetové prostředí 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Projekt: Inovace výuky prostřednictvím ICT Registrační číslo: CZ.1.07/1.5.00/34.250

Více

Access. Tabulky. Vytvoření tabulky

Access. Tabulky. Vytvoření tabulky Access správa databáze (tabulky, relace, omezující podmínky, data...) uživatelské prostředí pro práci s databází (formuláře, sestavy, datové stránky, makra...) ukázková aplikace Northwind hlavní okno databáze

Více

Další XML technologie

Další XML technologie XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2012/05/17 18:58:55 $ Obsah Odkazy... 3 Odkazy v rámci jednoho dokumentu... 4 XLink (XML Linking Language)... 5 XLink

Více

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty Pokročilé techniky tvorby sestav v Caché ZENové Reporty Úvodem Jednoduché sestavy Pokročilé sestavy Ladění Historie ZEN reporty sdílejí podobný princip definování obsahu jako ZENové stránky Byly uvedeny

Více

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK Systém WorkWatch je určen pro malé a střední firmy, které se zabývají službami nebo zakázkovou výrobou. Zajistí dokonalý přehled o všech zakázkách a jejich rozpracovanosti.

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

Semestrální práce 2 znakový strom

Semestrální práce 2 znakový strom Semestrální práce 2 znakový strom Ondřej Petržilka Datový model BlockFileRecord Bázová abstraktní třída pro záznam ukládaný do blokového souboru RhymeRecord Konkrétní třída záznamu ukládaného do blokového

Více

Systém souborů (file system, FS)

Systém souborů (file system, FS) UNIX systém souborů (file system) 1 Systém souborů (file system, FS)! slouží k uchování dat na vnějším paměťovém médiu a zajišťuje přístup ke struktuře dat! pro uživatele možnost ukládat data a opět je

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

Více

HTML Hypertext Markup Language

HTML Hypertext Markup Language HTML Hypertext Markup Language je jazyk určený na publikování a distribuci dokumentů na Webu velmi jednoduchý jazyk používá ho mnoho uživatelů má výkonné prostředky (příkazy) k formátování dokumentů (různé

Více

Základy WWW publikování

Základy WWW publikování Ing. Igor Kopetschke Oddělení aplikované informatiky Ústav nových technologií a aplikované informatiky Fakulta mechatroniky a mezioborových inženýrských studií Technická univerzita v Liberci Email : igor.kopetschke@tul.cz

Více

Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka.

Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka. 1 Disky, adresáře (složky) a soubory Disky Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka. A:, B: C:, D:, E:, F: až Z: - označení disketových mechanik - ostatní disky

Více

Dotazování nad XML daty a jazyk XPath

Dotazování nad XML daty a jazyk XPath 4 TVEZEWXYHMNR LSTVSKVEQY-RJSVQEXMOENITSHTSVSZ RETVSNIOXIQRERGSZER Q ^)ZVSTWO LSWSGM PR LSJSRHYEVS^TS XYLPEZR LSQ WXE4VEL] 4VELE)9-RZIWXYNIQIHSZE% FYHSYGRSWXM Dotazování nad XML daty a jazyk XPath BI-TWA

Více

Rozhraní pro práci s XML dokumenty. Roman Malo

Rozhraní pro práci s XML dokumenty. Roman Malo Rozhraní pro práci s XML dokumenty Roman Malo Práce s XML dokumenty Datově a dokumentově orientované XML dokumenty Problém preference elementů a atributů Strom elementů Strom uzlů Základní zpracování dokumentů

Více

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu

Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu StatSoft Typy souborů ve STATISTICA Tento článek poslouží jako přehled hlavních typů souborů v programu STATISTICA, ukáže Vám jejich možnosti a tím Vám dovolí využívat program efektivněji. Jistě jste již

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

DATABÁZE MS ACCESS 2010

DATABÁZE MS ACCESS 2010 DATABÁZE MS ACCESS 2010 KAPITOLA 5 PRAKTICKÁ ČÁST TABULKY POPIS PROSTŘEDÍ Spuštění MS Access nadefinovat název databáze a cestu k uložení databáze POPIS PROSTŘEDÍ Nahoře záložky: Soubor (k uložení souboru,

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

BALISTICKÝ MĚŘICÍ SYSTÉM

BALISTICKÝ MĚŘICÍ SYSTÉM BALISTICKÝ MĚŘICÍ SYSTÉM UŽIVATELSKÁ PŘÍRUČKA Verze 2.3 2007 OBSAH 1. ÚVOD... 5 2. HLAVNÍ OKNO... 6 3. MENU... 7 3.1 Soubor... 7 3.2 Měření...11 3.3 Zařízení...16 3.4 Graf...17 3.5 Pohled...17 1. ÚVOD

Více

Vzdělávací obsah vyučovacího předmětu

Vzdělávací obsah vyučovacího předmětu V.9.3. Vzdělávací obsah vyučovacího předmětu Vzdělávací oblast: Inormatika a informační a komunikační technologie Vyučovací předmět: Informatika Ročník: 1. ročník + kvinta chápe a používá základní termíny

Více

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů Tvorba informačních systémů 1/18 Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2008/2009 Tvorba informačních systémů 2/18 Úvod

Více

O Apache Derby detailněji. Hynek Mlnařík

O Apache Derby detailněji. Hynek Mlnařík O Apache Derby detailněji Hynek Mlnařík Agenda Historie Vlastnosti Architektura Budoucnost Historie 1997 Cloudscape Inc. - JBMS 1999 Informix Software, Inc. odkoupila Cloudscape, Inc. 2001 IBM odkoupila

Více

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná. Průběžná klasifikace Nová verze modulu Klasifikace žáků přináší novinky především v práci s průběžnou klasifikací. Pro zadání průběžné klasifikace ve třídě doposud existovaly 3 funkce Průběžná klasifikace,

Více

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. PHP - úvod Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. Klíčové pojmy: PHP, webový prohlížeč, HTTP, FTP Základní pojmy služba WWW = 1990 první prototyp serveru, od roku 1994

Více

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů Tvorba informačních systémů 1/46 Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2008/2009 Tvorba informačních systémů 2/46 Obsah

Více

Autor. Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech

Autor. Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech Adresářová služba X.500 a LDAP Autor Martin Lasoň Abstrakt Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech vedla ke vzniku specializovaných databází adresářů.

Více

ZNAČKOVACÍ JAZYKY A JEJICH VYUŽÍVÁNÍ MARKUP LANGUAGE AND THEIR USE. Zdeněk Havlíček

ZNAČKOVACÍ JAZYKY A JEJICH VYUŽÍVÁNÍ MARKUP LANGUAGE AND THEIR USE. Zdeněk Havlíček ZNAČKOVACÍ JAZYKY A JEJICH VYUŽÍVÁNÍ MARKUP LANGUAGE AND THEIR USE Zdeněk Havlíček Anotace: Značkovací jazyk vkládá do textu dokumentu další informace o vlastním textu. Značkovací jazyky se využívají především

Více

Inovace výuky prostřednictvím šablon pro SŠ

Inovace výuky prostřednictvím šablon pro SŠ Název projektu Číslo projektu Název školy Autor Název šablony Název DUMu Stupeň a typ vzdělávání Vzdělávací oblast Vzdělávací obor Tematický okruh Inovace výuky prostřednictvím šablon pro SŠ CZ.1.07/1.5.00/34.0748

Více

XML. Aleš Keprt 29.11.2005

XML. Aleš Keprt 29.11.2005 XML Aleš Keprt 29.11.2005 značkovací jazyk pro obecné použití pro vytváření speciálních značkovacích jazyků Nejčastější použití: výměna dat (při komunikaci) na internetu (společně nebo místo HTML) Je to

Více

Kartografická webová aplikace. Přednáška z předmětu Počítačová kartografie (KMA/POK) Otakar Čerba Západočeská univerzita

Kartografická webová aplikace. Přednáška z předmětu Počítačová kartografie (KMA/POK) Otakar Čerba Západočeská univerzita Kartografická webová aplikace Přednáška z předmětu Počítačová kartografie (KMA/POK) Otakar Čerba Západočeská univerzita Datum vzniku dokumentu: 3. 11. 2011 Datum poslední aktualizace: 10. 12. 2011 Cíl

Více

Elektronická technická dokumentace Bc. Lukáš Procházka

Elektronická technická dokumentace Bc. Lukáš Procházka 17, 18. hodina Elektronická technická dokumentace Bc. Lukáš Procházka Téma: závěrečná část dokumentu, dodatky a manuály 1) Závěrečná část dokumentu 2) Dodatky 3) Manuály a návody obsah dokumentu Závěrečná

Více

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean

Více

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4 CRM SYSTÉM KORMORÁN PŘÍRUČKA ADMINISTRÁTORA Obsah 1 Administrace systému 3 1.1 Uživatelské účty.................................. 3 1.2 Přístupová práva................................. 3 1.3 Moduly.......................................

Více

Značkovací jazyky a spol. HTML/XHTML XML JSON YAML Markdown, Texy!

Značkovací jazyky a spol. HTML/XHTML XML JSON YAML Markdown, Texy! Značkovací jazyky a spol. HTML/XHTML XML JSON YAML Markdown, Texy! Značkovací jazyky Angl. termín "MARKUP" ("vyznačování") Smyslem je přidat do textu metainformace: formátovací sémantické Výsledek je prostý

Více

1 Uživatelská dokumentace

1 Uživatelská dokumentace 1 Uživatelská dokumentace Systém pro závodění aut řízených umělou inteligencí je zaměřen na závodění aut v prostředí internetu. Kromě toho umožňuje testovat jednotlivé řidiče bez nutnosti vytvářet závod

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2006/2007 c 2006 2008 Michal Krátký Tvorba informačních systémů 1/46 Obsah 8.

Více

KIV/ZIS cvičení 5. Tomáš Potužák

KIV/ZIS cvičení 5. Tomáš Potužák KIV/ZIS cvičení 5 Tomáš Potužák Úvod do SQL (1) SQL (Structured Query Language) je standardizovaný strukturovaný dotazovací jazyk pro práci s databází Veškeré operace v databázi se dají provádět pomocí

Více

Vzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec

Vzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec StatSoft Vzorce Jistě se Vám již stalo, že data, která máte přímo k dispozici, sama o sobě nestačí potřebujete je nějak upravit, vypočítat z nich nějaké další proměnné, provést nějaké transformace, Jinak

Více

Algoritmy a datové struktury

Algoritmy a datové struktury Algoritmy a datové struktury Stromy 1 / 32 Obsah přednášky Pole a seznamy Stromy Procházení stromů Binární stromy Procházení BS Binární vyhledávací stromy 2 / 32 Pole Hledání v poli metodou půlení intervalu

Více

Java a XML. 10/26/09 1/7 Java a XML

Java a XML. 10/26/09 1/7 Java a XML Java a XML Java i XML jsou přenositelné V javě existuje podpora pro práci s XML, nejčastější akce prováděné při zpracování XML: načítání XML elementů generování nových elementů nebo úprava starého zápis

Více

Kontingenční tabulky v MS Excel 2010

Kontingenční tabulky v MS Excel 2010 Kontingenční tabulky v MS Excel 2010 Autor: RNDr. Milan Myšák e-mail: milan.mysak@konero.cz Obsah 1 Vytvoření KT... 3 1.1 Data pro KT... 3 1.2 Tvorba KT... 3 2 Tvorba KT z dalších zdrojů dat... 5 2.1 Data

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování 4 fáze vytváření

Více

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace.

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace. Popis ovládání 1. Úvod Tento popis má za úkol seznámit uživatele se základními principy ovládání aplikace. Ovládání je možné pomocí myši, ale všechny činnosti jsou dosažitelné také pomocí klávesnice. 2.

Více

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2 Přednáška 2 Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. 1 Systém souborů (FS) I 2 Systém souborů II Logický systém souborů pro běžného uživatele se jeví jako jediná homogenní struktura

Více

Popis programu EnicomD

Popis programu EnicomD Popis programu EnicomD Pomocí programu ENICOM D lze konfigurovat výstup RS 232 přijímačů Rx1 DIN/DATA a Rx1 DATA (přidělovat textové řetězce k jednotlivým vysílačům resp. tlačítkům a nastavovat parametry

Více

Obslužný software. PAP ISO 9001

Obslužný software.  PAP ISO 9001 Obslužný software PAP www.apoelmos.cz ISO 9001 červen 2008, TD-U-19-20 OBSAH 1 Úvod... 4 2 Pokyny pro instalaci... 4 2.1 Požadavky na hardware...4 2.2 Postup při instalaci...4 3 Popis software... 5 3.1

Více

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1 24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE

Více

Microsoft. Access. Nová databáze, návrh tabulky. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie

Microsoft. Access. Nová databáze, návrh tabulky. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie Microsoft Access Nová databáze, návrh tabulky Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie Dlouhodobý úkol Ahoj! Dnes vás čeká vytvoření první databáze (tabulky). Budeme evidovat

Více

Uživatelský manuál aplikace. Dental MAXweb

Uživatelský manuál aplikace. Dental MAXweb Uživatelský manuál aplikace Dental MAXweb Obsah Obsah... 2 1. Základní operace... 3 1.1. Přihlášení do aplikace... 3 1.2. Odhlášení z aplikace... 3 1.3. Náhled aplikace v jiné úrovni... 3 1.4. Změna barevné

Více

Tabulkový procesor. Základní rysy

Tabulkový procesor. Základní rysy Tabulkový procesor Tabulkový procesor je počítačový program zpracovávající data uložená v buňkách tabulky. Program umožňuje použití vzorců pro práci s daty a zobrazuje výsledné hodnoty podle vstupních

Více

OPERAČNÍ SYSTÉM. Informační a komunikační technologie

OPERAČNÍ SYSTÉM. Informační a komunikační technologie OPERAČNÍ SYSTÉM Informační a komunikační technologie Operační systém počítače Definice - charakteristika Je soubor programů, které zajišťují základní činnosti počítače (vstup a výstup dat, zpracování uživatelského

Více

Mgr. Stěpan Stěpanov, 2013

Mgr. Stěpan Stěpanov, 2013 Mgr. Stěpan Stěpanov, 2013 Abstrakt V tomto kurzu se seznámíme se základními pojmy HTML, klíčovými pravidly pro práci se značkami a atributy a strukturou dokumentu. Také se dozvíte, jak a v čem lze vytvářet

Více

Správnost XML dokumentu

Správnost XML dokumentu Realizováno za finanční podpory ESF a státního rozpočtu ČR v rámci v projektu Zkvalitnění a rozšíření možností studia na TUL pro studenty se SVP reg. č. CZ.1.07/2.2.00/29.0011 Správnost XML dokumentu Správně

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech

Více

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou

Více

Úvod do tvorby internetových aplikací

Úvod do tvorby internetových aplikací CVT6 01a Úvod do tvorby internetových aplikací Osnova předmětu (X)HTML a tvorba webu pomocí přímého zápisu kódu Tvorba web designu a skládání stránek z kousků Skriptovací jazyky na webu Návrh software

Více

Vývoj Internetových Aplikací

Vývoj Internetových Aplikací 2 Vývoj Internetových Aplikací HTML a CSS Ing. Michal Radecký, Ph.D. www.cs.vsb.cz/radecky HTML a CSS - Tvorba webových stránek - Struktura - Obsah - Vzhled - Funkcionalita zdroj: http://www.99points.info

Více

Instalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován.

Instalace. Produkt je odzkoušen pro MS SQL server 2008 a Windows XP a Windows 7. Pro jiné verze SQL server a Windows nebyl testován. Instalace Produkt se neinstaluje. Stačí soubor uložit na libovolné místo na Vašem počítací (klikněte pravým tlačítkem a dejte 'uložit cíl jako ), pak jen spustit. Požadavky na software Produkt je odzkoušen

Více

Analýza dat a modelování. Speciální struktury

Analýza dat a modelování. Speciální struktury Analýza dat a modelování Speciální struktury XML extensible Markup Language jazyk pro popis struktury dat (zejména se používá pro dokumenty) výrazná podobnost s HTML proč? protože má stejný původ v jazyce

Více

UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V.3 2009-11-08

UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V.3 2009-11-08 UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V.3 2009-11-08 1 Obsah dokumentu 1 Obsah dokumentu... 2 2 Personalizovaná objednávka... 3 3 Jednoduchá... 3 4 Standardní... 4 5 Komplexní... 5 5.1 Párování

Více

Implementace XML signatur

Implementace XML signatur MASARYKOVA UNIVERZITA V BRNĚ FAKULTA INFORMATIKY #ris m p Implementace XML signatur BAKALÁŘSKÁ PRÁCE Petr Neděla Brno, podzim 2005 Prohlášení Prohlašuji, že tato bakalářská práce je mým původním autorským

Více

PRG036 Technologie XML

PRG036 Technologie XML PRG036 Technologie XML Přednáší: Irena Mlýnková (mlynkova@ksi.mff.cuni.cz) Martin Nečaský (necasky@ksi.mff.cuni.cz) LS 2010 Stránka přednášky: http://www.ksi.mff.cuni.cz/~mlynkova/prg036/ 1 Osnova předmětu

Více

Microsoft Access. Úterý 26. února. Úterý 5. března. Typy objektů databáze: Vytvoření a návrh nové tabulky

Microsoft Access. Úterý 26. února. Úterý 5. března. Typy objektů databáze: Vytvoření a návrh nové tabulky Úterý 26. února Microsoft Access Databáze je seskupení většího množství údajů, které mají určitou logiku a lze je určitým způsobem vyhodnocovat, zpracovávat a analyzovat Access je jedním z programů určených

Více

Alena Malovaná, MAL305

Alena Malovaná, MAL305 Alena Malovaná, MAL305 GML WFS WMF Geografický značkovací jazyk (Geographic Markup Language - GML) Jedná se o velmi rozšířený standard pro popis geodat umožňující sdílení i integraci dat. Jeho základem

Více

Obsah. 1.1 Práce se záznamy... 3 1.2 Stránka Dnes... 4. 2.1 Kontakt se zákazníkem... 5

Obsah. 1.1 Práce se záznamy... 3 1.2 Stránka Dnes... 4. 2.1 Kontakt se zákazníkem... 5 CRM SYSTÉM KORMORÁN UŽIVATELSKÁ PŘÍRUČKA Obsah 1 Základní práce se systémem 3 1.1 Práce se záznamy................................. 3 1.2 Stránka Dnes.................................... 4 1.3 Kalendář......................................

Více

Možnosti tisku v MarushkaDesignu

Možnosti tisku v MarushkaDesignu 0 Možnosti tisku v MarushkaDesignu OBSAH 1 CÍL PŘÍKLADU...2 2 PRÁCE S PŘÍKLADEM...2 3 UKÁZKA DIALOGOVÉHO OKNA...3 4 STRUČNÝ POPIS PŘÍKLADU V MARUSHKADESIGNU...5-1 - 1 Cíl příkladu V tomto příkladu si ukážeme

Více