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

Podobné dokumenty
Tvorba informačních systémů

Tvorba informačních systémů

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

Michal Krátký, Miroslav Beneš

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

MBI - technologická realizace modelu

Oracle XML DB. Tomáš Nykodým

Principy XQuery. funkcionální jazyk vše je výraz, jehož vyhodnocením vznikne určitá hodnota základní typy stejné jako v XML Schema:

Databázové a informační systémy Jana Šarmanová

PRG036 Technologie XML

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

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

Tvorba informačních systémů

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

Databázové a informační systémy

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

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

1. Webový server, instalace PHP a MySQL 13

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

8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1

Použití databází na Webu

J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu

Operátory ROLLUP a CUBE

PRG036 Technologie XML

Využití XML v DB aplikacích

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

Databázové systémy úvod

Dotazování nad stromem abstraktní syntaxe

1 Webový server, instalace PHP a MySQL 13

Programování a implementace Microsoft SQL Server 2014 databází

Databázové systémy. Cvičení 6: SQL

XQuery. Jirka Kosek. Visual FoxPro DevCon června Praha. Copyright 2005 Jiří Kosek

Databázové systémy úvod

Databázové systémy Cvičení 5.2

Databázové systémy úvod

Informační systémy ve zdravotnictví. 6. cvičení

13. blok Práce s XML dokumenty v databázi Oracle

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Databázové systémy BIK-DBS

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.

SQL tříhodnotová logika

Archivace relačních databází

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

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

Objektově relační databáze a ORACLE 8

Úvod do databázových systémů 3. cvičení

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

Zpracování informací

SQL - trigger, Databázové modelování

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

InterSystems Caché Post-Relational Database

Michal Krátký, Miroslav Beneš

DIGITALIZACE ČASOPISU FALSTAFF. Aleš Keprt

Fyzické uložení dat a indexy

Analýza dat a modelování. Přednáška 3

Stromové struktury v relační databázi

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Složitosti základních operací B + stromu

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Integrace relačních a grafových databází funkcionálně


Lekce 6 - Správa prostorových dat

Internetová filmová databáze IFDB

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

Semestrální práce z DAS2 a WWW

VŠB FEI - Technická Univerzita Ostrava. DAIS - Projekt. Dopravní podnik. Jméno: Matěj Kotyz (KOT0177)

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

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.

Různé úrovně pohledu na data

12. blok Pokročilé konstrukce SQL dotazů - část II

DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY

Architektura softwarových systémů

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

WWW dotazovací služby pro prostorová data URM. Jiří Čtyroký Útvar rozvoje hl. m. Prahy

Databáze II. 1. přednáška. Helena Palovská

Dolování v objektových datech. Ivana Rudolfová

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody

Databáze I. Přednáška 4

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Přizpůsobení JSTL pro Google App Engine Datastore

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav

A5M33IZS Informační a znalostní systémy. O čem předmět bude? Úvod do problematiky databázových systémů

předměty: ukončení: Zápočet + Zkouška / 5kb např. jméno, název, destinace, město např. student Jan Novák, narozen

Analýza a modelování dat 3. přednáška. Helena Palovská

6. blok část B Vnořené dotazy

Tvorba informačních systémů

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

4IT218 Databáze. 4IT218 Databáze

Sada 1 - PHP. 14. Úvod do jazyka SQL

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

04 - Databázové systémy

Databázové systémy I

VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

POROVNÁNÍ RELAČNÍHO A OBJEKTOVÉHO DATOVÉHO MODELU V KONSTRUKCI DATABÁZOVÝCH SYSTÉMŮ

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Přijímací zkouška - informatika

Transkript:

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 XML dokument/dokumenty tvoří databázi, schéma dokumentů je schématem této databáze. Datový model XML - XML dokument je modelován jako strom (XML strom). Pro dotazování XML dat, používáme XML dotazovací jazyky, např. XPath, apod. Existují jazyky pro provádění změn v XML dokumentech, např. Update Facility 1 a XUpdate 2. Pro implementaci XML nativní databáze je nutné použít sofistikované metody. 1 http://www.w3.org/tr/xquery-update-10/ 2 http://xmldb-org.sourceforge.net/xupdate/

Tvorba informačních systémů 3/18 Příklad - XML dokument <?xml version= " 1.0 "? > <books> <book i d = " 003 04312 " > < t i t l e > from the Experts< / t i t l e > <author>< f i r s t >Jonathan< / f i r s t >< l a s t >Robie< / l a s t >< / author> <author>< f i r s t >Michael< / f i r s t >< l a s t >Rys< / l a s t >< / author> < p r i c e >49.00< / p r i c e > < / book> <book i d = " 001 00863 " > < t i t l e >XML Data Management< / t i t l e > <author>< f i r s t >Akmal< / f i r s t >< l a s t >Chaudhri< / l a s t >< / author> < p r i c e >59.00< / p r i c e > < / book> <book i d = " 045 00012 " > < t i t l e >XML Indexing and Pattern Matching< / t i t l e > <author>< f i r s t >Bongki< / f i r s t >< l a s t >Moon< / l a s t >< / author> < p r i c e >79.99< / p r i c e > < / book>< / books>

Tvorba informačních systémů 4/18 Standard W3C pro dotazování XML dat. Složitý jazyk, komplikovaná efektivní implementace. Neobsahuje JDD, je nutný? Porovnejme s vytvořením relačního schématu. Obsahuje JMD, neobsahuje konstrukce pro aktualizaci, vložení a rušení uzlů v XML dokumentu. Existuje specifikace Update Facility.

Tvorba informačních systémů 5/18 Příklady, výrazy cest 1 Vrat všechny knihy z databáze books.xml: doc( books.xml )//book 2 Vrat knihu napsanou autorem s příjmením Fernadez: doc( books.xml )/books/book[author/last= Fernadez ] 3 Vrat id (hodnota atributu) první knihy: doc( books.xml )/books/book[1]/@id 4 Vrat prvního autora každé knihy: doc( books.xml )/books/book/author[1] 5 Vrat prvního autora z celého dokumentu: (doc( books.xml )/books/book/author)[1]

Tvorba informačních systémů 6/18 Příklady Dotaz: < t i t l e s count= { count ( doc ( books. xml ) / books / book / t i t l e ) } > { doc ( books. xml ) / books / book / t i t l e } < / t i t l e s > Výsledek: <?xml version= " 1.0 "? > < t i t l e s count= 3 > < t i t l e > from the Experts< / t i t l e > < t i t l e >XML Data Management< / t i t l e > < t i t l e >XML Indexing and Pattern Matching< / t i t l e > < / t i t l e s >

Tvorba informačních systémů 7/18 FLWOR výrazy Poznámka: Vyslovujeme jako flower. FLWOR výraz: F, for klauzule: asociace jedné nebo více proměnných k výrazu, L, let: přiřazení výsledku výrazu proměnné, W, where: omezující podmínka, O, order by: setřídění, R, return: výsledek.

Tvorba informačních systémů 8/18 Příklad, FLWOR výrazy Vrat všechny názvy knih, které jsou dražší než 50$. Dotaz: f o r $ b i n doc ( books. xml ) / / book where $ b / p r i c e < 5 0. 0 r e t u r n $ b / t i t l e Výsledek: < t i t l e > from the Experts< / t i t l e >

Tvorba informačních systémů 9/18 Příklad, FLWOR výrazy Vrat všechny názvy knih, které napsal autor s příjmením Moon setříděné dle názvu. Dotaz: f o r $b in doc ( books. xml ) / / book where $b / author / l a s t = Moon order by $b / t i t l e r e t u r n < r e s u l t > { $b / t i t l e } </ r e s u l t > Výsledek: < r e s u l t > < t i t l e >XML Indexing and Pattern Matching< / t i t l e > < / r e s u l t >

Tvorba informačních systémů 10/18 Příklad, FLWOR výrazy Vrat všechny názvy knih, které mají více než jednoho autora. Dotaz: f o r $b in doc ( books. xml ) / / book l e t $c : = $b / author where count ( $c ) > 1 r e t u r n < r e s u l t > { $b / t i t l e } </ r e s u l t > Výsledek: < r e s u l t > < t i t l e > from the Experts< / t i t l e > < / r e s u l t >

Tvorba informačních systémů 11/18 Příklad, Update Facility 1 Vlož element year s obsahem 2005 za element price první knihy. Příkaz: i n s e r t node < year >2005</year> a f t e r fn : doc ( " books. xml " ) / books / book [ 1 ] 2 Zvyš cenu první knihy o 10%. Příkaz: replace value of node fn : doc ( " books. xml " ) / books / book [ 1 ] / p r i c e with fn : doc ( " bib. xml " ) / books / book [ 1 ] / p r i c e 1. 1

Tvorba informačních systémů 12/18 Nativní XML databáze Nativní XML databáze Nativní XML databáze: často prototypy: MonetDB/, Tamino, Timber. používají progresivní metody pro indexování XML. XML-enabled databáze: často rozšíření RDBMS: DB2, SQL Server, Oracle. definujeme atribut typu XML dokument. používají triviální přístupy pro indexování XML dat.

Tvorba informačních systémů 13/18 Indexování XML dat Triviální implementace Každý element je vložen do B-stromu (indexujeme dle id v uspořádání dokumentu), jinými slovy vytvoříme tabulku Element(tag, id, value) a pro každý element do ní vložíme záznam. n0 books n1 book n2 book n3 n4 n5 id title author n7 n6 n8 id title author 003-04312 The XML Book John Smyth 045-00012 The Frank Book Nash doc( books.xml )/books/book[author= John Smyth ]/title

Tvorba informačních systémů 14/18 Indexování XML dat Provádění dotazu 1 Najdi všechny elementy typu books. 2 Najdi všechny elementy typu book. Proved spojení obou množin. 3 Najdi všechny elementy typu author s hodnotou John Smyth. Proved spojení množin. 4 Najdi všechny elementy typu title. Proved spojení množin. Úvaha: Co se stane pokud mezivýsledky budou obsahovat milióny elementů, ale výsledkem bude pouze jeden element?

Tvorba informačních systémů 15/18 Indexování XML dat Aktuální stav 1 Takto triviální přístupy jsou velmi neefektivní. Např. dotaz site/closed_auctions/closed_auction/annotation/ description/parlist/listitem/parlist/listitem/ text/emph/keyword trvá na MS SQL 2005 83s (kolekce XMark 1GB). 2 Efektivní přístupy jsou v současné době záležitostí výzkumu. Např. přístup MDX vyvíjený na katedře tento dotaz vykoná za 2s.

Tvorba informačních systémů 16/18 Indexování XML dat Sofistikované metody indexování 1 Holistické přístupy: garantují, že je každý element při vykonávání dotazu zpracován pouze jednou. 2 Optimalizace založená na ceně (cost-based): Odhad velikosti výsledku jednotlivých částí dotazu umožní vytvořit lepší plán vykonávání dotazu. V případě: doc( books.xml )/books/book[author= John Smyth ]/title je např. rozumné začít vykonávání získáním knih napsaných autorem John Smyth. Tato část dotazu generuje nejmenší mezivýsledek. 3 Další metody: např. indexování celých cest stromu.

Tvorba informačních systémů 17/18 Indexování XML dat Informační systémy založené na? 1 Programování informačních systémů dnes: Nad samotnou relační databází se implementují třídy, které provádí transformaci dat do XML dokumentu: pro zobrazení v prohlížeči, export dat apod. Tyto transformace jsou často náročné na výpočetní výkon. 2 Pro určitou třídu informačních systémů je řešením implementace pomocí nativní XML databáze a : programátor získá z databáze data, která jsou přímo předána uživateli. 3 Tyto informační systémy, především tedy nativní XML databáze jsou stále ve vývoji.

Tvorba informačních systémů 18/18 Indexování XML dat Reference http://www.w3.org/tr/xquery/ Update http://www.w3.org/tr/xquery-update-10/ Howard Katz et al. from the Experts. Addison-Wesley Professional, 2003. Akmal B. Chaudhri, Awais Rashid, Roberto Zicari: XML Data Management: Native XML and XML-Enabled Database Systems. Addison-Wesley Professional, 2003. Indexování XML - články v časopisech a sbornících.