Tvorba informačních systémů

Podobné dokumenty
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ů

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

Michal Krátký, Miroslav Beneš

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

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á

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ů

PRG036 Technologie XML

MBI - technologická realizace modelu

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

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

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

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

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

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

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

PRG036 Technologie XML

Využití XML v DB aplikacích

Databázové systémy úvod

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

Dotazování nad stromem abstraktní syntaxe

Databázové systémy úvod

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

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

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

SQL tříhodnotová logika

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

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

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

Databázové systémy úvod

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

Operátory ROLLUP a CUBE

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

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

Použití databází na Webu

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

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

Michal Krátký, Miroslav Beneš

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

Stromové struktury v relační databázi

Databázové systémy BIK-DBS

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

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

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ě

1. Webový server, instalace PHP a MySQL 13

Fyzické uložení dat a indexy

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

DIGITALIZACE ČASOPISU FALSTAFF. Aleš Keprt

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

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

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

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

Lekce 6 - Správa prostorových dat

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

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

Internetová filmová databáze IFDB

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

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

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

Různé úrovně pohledu na data

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

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

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

1 Webový server, instalace PHP a MySQL 13

Archivace relačních databází

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

Semestrální práce z DAS2 a WWW

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

Tvorba informačních systémů

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

Platforma Java. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, / 15

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

George J. Klir Vilem Vychodil (Palacky University, Olomouc) State University of New York (SUNY) Binghamton, New York 13902, USA

Tvorba informačních systémů

Databázové systémy I

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

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

Databáze SQL SELECT. David Hoksza

04 - Databázové systémy

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.

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

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný

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

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

Databázové systémy úvod

TimescaleDB. Pavel Stěhule 2018

Úvod, terminologie. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 1

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

Srovnání SQL serverů. Škálovatelnost a výkon. Express Workgroup Standard Enterprise Poznámky. Počet CPU bez limitu Obsahuje podporu

Základní informace o co se jedná a k čemu to slouží

01. Kdy se začala formovat koncept relačních databází (Vznik relačního modelu, první definice SQL)? a) 1950 b) 1960 c) 1970 d) 1980

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

InterSystems Caché Post-Relational Database

Zpracování informací

6. Fyzická (interní) úroveň databázového systému

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

Transkript:

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/17

Ú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 a XUpdate. Pro implementaci XML nativní databáze je nutné použít sofistikované metody. c 2006 2008 Michal Krátký Tvorba informačních systémů 2/17

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> c 2006 2008 Michal Krátký Tvorba informačních systémů 3/17

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. c 2006 2008 Michal Krátký Tvorba informačních systémů 4/17

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] c 2006 2008 Michal Krátký Tvorba informačních systémů 5/17

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 > c 2006 2008 Michal Krátký Tvorba informačních systémů 6/17

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. c 2006 2008 Michal Krátký Tvorba informačních systémů 7/17

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 > c 2006 2008 Michal Krátký Tvorba informačních systémů 8/17

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 > c 2006 2008 Michal Krátký Tvorba informačních systémů 9/17

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 > c 2006 2008 Michal Krátký Tvorba informačních systémů 10/17

Příklad, Update 1 Vlož element year s obsahem 2005 za element price první knihy. Dotaz: 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%. Dotaz: 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 c 2006 2008 Michal Krátký Tvorba informačních systémů 11/17

: č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. c 2006 2008 Michal Krátký Tvorba informačních systémů 12/17

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 c 2006 2008 Michal Krátký Tvorba informačních systémů 13/17

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? c 2006 2008 Michal Krátký Tvorba informačních systémů 14/17

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. c 2006 2008 Michal Krátký Tvorba informačních systémů 15/17

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. c 2006 2008 Michal Krátký Tvorba informačních systémů 16/17

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. c 2006 2008 Michal Krátký Tvorba informačních systémů 17/17