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



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

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ů

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:

MBI - technologická realizace modelu

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

Dotazování nad stromem abstraktní syntaxe

PRG036 Technologie XML

Použití databází na Webu

Využití XML v DB aplikacích

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

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

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

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

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

Podpora XML v.net. Podpora XML v.net. nezávislý publicista. Jirka Kosek.

Operátory ROLLUP a CUBE

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

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

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

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

SQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT

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

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

PRG036 Technologie XML

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

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

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

Business Intelligence

Úvod. Programovací paradigmata

XML a ORACLE Petr Davídek

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o.

Archivace relačních databází

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

Michal Krátký, Miroslav Beneš

Spark SQL, Spark Streaming. Jan Hučín

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

RELAČNÍ DATABÁZE. Cíl:

Spark SQL, Spark Streaming. Jan Hučín

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

1. Webový server, instalace PHP a MySQL 13

Materializované pohledy

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

Představuje. Technický Informační Systém nové generace

ÚVOD DO DATABÁZÍ. Metodické listy pro předmět

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

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

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY TEMPORÁLNÍ XML DATABÁZE TEMPORAL XML DATABASES

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

Programování v jazyku C# II. 5.kapitola

Architektura softwarových systémů

Nerelační databázové modely. Helena Palovská

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

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

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

RDF a RDF Query. Jakub Nerad 1. prosince Nerad () RDF a RDF Query 1. prosince / 16

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

1 Webový server, instalace PHP a MySQL 13

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

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

Stručný obsah. část III Aktualizace dat Kapitola 10: Aktualizace databáze 257 Kapitola 11: Integrita dat 275 Kapitola 12: Zpracování transakcí 307

Další XML technologie

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.

6. blok část C Množinové operátory

XQuery: dotazovací jazyk nad XML

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

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

KAPITOLA 1 Představení platformy Microsoft SQL Server 2008

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

Databáze SQL SELECT. David Hoksza

PRODUKTY. Tovek Tools

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

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

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

Objektově orientované databáze. Miroslav Beneš

Administrace Oracle. Práva a role, audit

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

Dotazování nad XML daty a jazyk XPath

Tento blok je věnován vytváření uživatelských balíků funkcí v jazyce PL/SQL a použití systémových balíků. 2-3 hodiny

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

Informační systémy 2008/2009. Radim Farana. Obsah. Základní principy XML

Stručný obsah. K2118.indd :15:27

B Organizace databáze na fyzické úrovni u serveru Oracle

Ukázka knihy z internetového knihkupectví

Komprese a dotazování nad XML dokumenty

Databázové systémy, MS Access. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1130_Databázové systémy, MS Access_PWP

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale

PRODUKTY. Tovek Tools

Databáze. datum jmeno prijmeni adresa_ulice adresa_mesto cislo_uctu platba zustatek

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

Příklad buňka tabulky

Databáze Bc. Veronika Tomsová

Dotazovací jazyky I. Datová krychle. Soběslav Benda

Databázové systémy BIK-DBS

5. blok Souhrnné a skupinové dotazy

PRŮBĚHOVÝ TEST Z PŘEDNÁŠEK

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Klinický informační systém Porodní kniha - případová studie -

Transkript:

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í XML do relačních databází... 6 Dotazování... 7 Dotazování... 8 XPath... 9 Využití XSLT jako dotazovacího jazyka... 10 XQuery... 11 Rozšíření SQL... 12 Budoucnost ((u některých implementací už i současnost))... 13 XQuery... 14 XQuery... 15 Další zdroje informací... 16 Další zdroje informací... 17

Ukládání XML dokumentů Ukládání XML do souborů... 4 Nativní XML databáze... 5 Ukládání XML do relačních databází... 6 (strana 3)

Ukládání XML do souborů výhody: není potřeba žádné speciální vybavení nevýhody: s XML dokumentem lze manipulovat jen jako s celkem dokumenty nelze rozumně indexovat a prohledávat Ukládání XML dokumentů 1 / 11 (strana 4)

Nativní XML databáze databáze specializované na ukládání XML dokumentů místo tabulek se pracuje s kolekcemi XML dokumentů dokumenty v kolekci mohou, ale nemusí odpovídat určitému schématu lze manipulovat (výběr, změna, smazání, přidání) s libovolnou částí XML dokumentů lze snadno indexovat a prohledávat přístup k databázi řádkové rozhraní, API, HTTP příklady: exist, MarkLogic, Tamino,Xhive, Ukládání XML dokumentů 2 / 11 (strana 5)

Ukládání XML do relačních databází XML dokument se uloží jako CLOB/BLOB snadná implementace většina databází neumožňuje efektivní indexování a prohledávání BLOB položek s XML dokumentem se musí pracovat jako s jedním celkem XML dokument se rozloží do několika relačních tabulek mnoho způsobů dekompozice XML na relační model relační model špatně zachycuje hierarchickou strukturu XML rozložení a složení XML dokumentu je pomalé některé dotazy mohou být provedeny velmi rychle převedením na obyčejný SQL dotaz mapování XML na objektově-relační model datový model OODB se po drobných úpravách (zachování pořadí dětí) dá použít pro ukládání XML dat s XML dokumentem lze pracovat po částech indexování a vyhledávání může využit funkce OODB nativní XML typ zcela transparentní práce s XML relační databáze zahrnuje funkčnosti nativních XML databází Ukládání XML dokumentů 3 / 11 (strana 6)

Dotazování Dotazování... 8 XPath... 9 Využití XSLT jako dotazovacího jazyka... 10 XQuery... 11 Rozšíření SQL... 12 Budoucnost ((u některých implementací už i současnost))... 13 (strana 7)

Dotazování navigace podle struktury dokumentu (struktury elementů) přístupy známé z SQL aplikované na XML strukturovaná data: manipulace s fragmenty XML řazení výsledků agregační operace, seskupování spojování dat z několika XML dokumentů v jednom dotazu dotazovací jazyky: XPath pouze pro jednoduché dotazy XSLT lze použít, ale příliš upovídaný XQuery speciální dotazovací jazyk navržený pro XML rozšíření SQL o podporu XML dat Dotazování 4 / 11 (strana 8)

XPath výsledkem je posloupnost složená z uzlů nebo primitivních typů silné prostředky pro navigaci ve struktuře dokumentu pomocí funkce doc lze v jednom dotazu použít více zdrojů XML dat, lze provádět i jednoduchá spojení základní agregační funkce (count, avg, sum) nelze vytvořit dokument se složitější strukturou nelze vytvořit dokument s jinou strukturou než je v dotazovém dokumentu Dotazování 5 / 11 (strana 9)

Využití XSLT jako dotazovacího jazyka transformaci z XML XML můžeme chápat jako provedení dotazu oproti XQuery ukecanější syntaxe nelze optimalizovat tak dobře jako XQuery Dotazování 6 / 11 (strana 10)

XQuery dotazovací jazyk speciálně navržený pro XML spojuje možnosti SQL, XPath výrazů a jednoduchých transformací dat XQuery = XPath 2.0 + FLWOR výrazy + výrazy konstruující nové elementy + uživatelsky definované funkce + několik dalších direktiv struktura FLWOR výrazu FOR výběr posloupnosti uzlů k dalšímu zpracování LET přiřazení proměnných pro každý prvek posloupnosti WHERE filtrování uzlů v posloupnosti ORDER BY seřazení vybraných a odfiltrovaných uzlů RETURN specifikace výstupu pro každý vybraný a odfiltrovaný uzel existuje velké množství implementací Dotazování 7 / 11 (strana 11)

Rozšíření SQL většina high-end databází obsahuje nějakou podporu XML proprietární rozšíření SQL SELECT firstname, lastname, employeeid FROM Employess WHERE employeeid = 1 FOR XML RAW <row firstname="nancy" lastname="davolio" employeeid="1"/> SQL/XML rozšíření standardu SQL o mapování mezi SQL a XML typy a názvy identifikátorů, funkce pro generování XML z výsledku SQL dotazu, načítání/ukládání XML, select xmlelement("emp", 'Employee ', xmlelement( "name", e.ename), ' was hired on ', xmlelement("hiredate", e.hiredate)) as result from employess e; <emp> Employee <name>john</name> was hired on <hiredate>2002-12-07</hiredate> </emp> většina databází dnes nabízí integraci XPath a XQuery do SQL SELECT Resume.query(' declare namespace RES="urn:x-test:cv"; for $EMP in /RES:Resume/RES:Employment order by $EMP/RES:Emp.StartDate return <Employment> { $EMP/RES:Emp.StartDate } { $EMP/RES:Emp.EndDate } { $EMP/RES:Emp.OrgName } { $EMP/RES:Emp.JobTitle } </Employment> ') as Result FROM [HumanResources].[JobCandidate] WHERE JobCandidateID = 3 Dotazování 8 / 11 (strana 12)

Budoucnost (u některých implementací už i současnost) konvergence SQL a XQuery oba jazyky lze navzájem kombinovat a pracovat tak s heterogenními daty Dotazování 9 / 11 (strana 13)

XQuery XQuery... 15 (strana 14)

XQuery viz http://www.kosek.cz/xml/2005devcon/ XQuery 10 / 11 (strana 15)

Další zdroje informací Další zdroje informací... 17 (strana 16)

Další zdroje informací XQuery tutorial 1 Specifikace XQuery a XPath 2 2 Saxon 3 implementace poslední verze návrhu XQuery Podpora XML v DB Oracle 4 Podpora XML v MS SQL Serveru 5 1 https://www.progress.com/products/data-integration-suite/data-integration-suite-developer-center/data-integration-suite-tutorials/learning-xquery/xquery---a-guided-tour 2 http://www.w3.org/xml/query#specs 3 http://saxon.sourceforge.net/ 4 http://www.oracle.com/technetwork/database/database-technologies/xmldb/overview/index.html 5 http://msdn.microsoft.com/en-us/library/bb522446.aspx Další zdroje informací 11 / 11 (strana 17)