Oracle XML DB. Tomáš Nykodým

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

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

Využití XML v DB aplikacích

XML a ORACLE Petr Davídek

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

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

Použití databází na Webu

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

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

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

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

MBI - technologická realizace modelu

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

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

Tvorba informačních systémů

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

Michal Krátký, Miroslav Beneš

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

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

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 úvod

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

POSTUP PRO VYTVOŘENÍ STRUKTUR PRO UKLÁDÁNÍ RDF DAT V ORACLE

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

PRG036 Technologie XML

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

Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D.

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

Informační systémy 2008/2009. Radim Farana. Obsah. Jazyk SQL

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

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

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

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

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

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

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

Integritní omezení (IO)

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

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

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Návrh a tvorba WWW stránek 1/14. PHP a databáze

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

Databázové systémy trocha teorie

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

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

Virtual Private Database (VPD) Jaroslav Kotrč

Databázové systémy a SQL

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

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

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

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

Text úlohy. Systémový katalog (DICTIONARY):

KMI / TMA Tvorba mobilních aplikací. 6. seminář ZS 2016/2017 Středa 13:15-15:45

Semestrální práce z DAS2 a WWW

4. lekce Přístup k databázi z vyššího programovacího jazyka

Stěhování aplikací. Michal Tomek, Sales Manager

Administrace Oracle. Práva a role, audit

POKROČILÉ POUŽITÍ DATABÁZÍ

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.

Datablades včera, dnes a zítra

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

Fyzické uložení dat a indexy

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

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Transformace konceptuálního modelu na relační

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

DUM 12 téma: Příkazy pro tvorbu databáze

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

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

Deklarativní IO shrnutí minulé přednášky

Konceptuální modelování a SQL

1. Webový server, instalace PHP a MySQL 13

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

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

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

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

1 Webový server, instalace PHP a MySQL 13

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

Požadavky pro výběrová řízení TerraBus ESB/G2x

<Insert Picture Here> Na co se můžete s Oracle BI těšit

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

Operátory ROLLUP a CUBE

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

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázový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

Ukázka knihy z internetového knihkupectví

PRG036 Technologie XML

RELAČNÍ DATABÁZOVÉ SYSTÉMY

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

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

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

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

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

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

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

Business Intelligence

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

Transkript:

Oracle XML DB Tomáš Nykodým xnykodym@fi.muni.cz

Osnova Oracle XML DB Architektura Oracle XML DB Hlavní rysy Oracle XML DB Hlavní rysy Oracle XML DB - pokračování XMLType XML Repository Využívání databázových možností Využívání XML možností Kdy použít Oracle XML DB? Použití, příklady, odkazy

Oracle XML DB množina zabudovaných, vysoce výkonných úložných a vyhledávacích technologií zaměřených na XML plně podporuje W3C XML datový model spojuje všechny výhody relačních databází a technologie XML současně XML/SQL dualita XML operace nad SQL daty, SQL operace nad XML daty možnost ukládat a spravovat strukturovaná i nestrukturovaná data podpora otevřených standardů XPath, SQL/XML

Architektura Oracle XML DB

Hlavní rysy Oracle XML DB XMLType úsekové aktualizace dokumentu XML (XPath) XPath vyhledávání XML indexy rychlý přístup k XML obsahu XSL transformace pro XMLType XML pohledy SQLX operátory ANSI SQLX XML Schema věrnost reprodukce DOM (DOM Fidelity) věrnost reprodukce dokumentu (včetně bílých znaků) plná podpora standardu W3C - XML Schema validace podle XML Schema

Hlavní rysy Oracle XML DB - pokračování XML DB Repository vyhledávání v XML Repository zabezpečení přístupu k datům ACL správa verzí WebDAV, HTTP, FTP přístup k datům přístupové XML API: C, PL/SQL, Java servlets/jsp (JDBC) XSL/XSPs (XML dokumenty + DOM) XML/SQL dualita

XMLType datový typ pro ukládání XML dat typ sloupce nebo celé tabulky způsoby ukládání: LOB (Large OBject) zachová přesnou reprezentaci dokumentu velká přizpůsobivost změně schématu objektově-relační reprezentace omezená přizpůsobivost změně schématu vypuštění whitespace znaků, komentářů vysoký DML výkon přístupnost existujících SQL rysů (indexy, integritní omezení,...)

XML Repository sklad pro správu a přístup k XML dokumentům části: seznam a správa přístupových práv (ACL) i vlastní práva správa složek WebDAV a FTP protokol pro přístup ke složkám SQL vyhledávání v XML Repository API pro práci s XML Repository přístup pomocí Java servletu manipulace s objekty

Využívání databázových možností bez podpory XML se XML data ukládala jako nestrukturovaná data (CLOB) nebo v XML souborech, kde nebylo možno využít některé klíčové vlastnosti databází: indexace a vyhledávání Oracle XML DB umožňuje efektivní strukturované vyhledávání nad XML daty aktualizace a transakční zpracování více pohledů na data relační pohledy, kombinování dat výkonnost a škálovatelnost rychlé ukládání, dotazování a aktualizace XML dat

Využívání XML možností strukturální nezávislost otevřený obsahový model nelze jednoduše zachytit pomocí čistého světa tabulek a sloupců => XML Schema nezávislost na uložení XMLType umožňuje psát aplikace bez přesné znalosti kde jsou data uložena, v jakém formátu, v jaké tabulce, jaké jsou vztahy mezi tabulkami, dovoluje administrátorovi mapovat strukturovaná data na fyzické tabulky a sloupce jednoduchost prezentace podpora XML v prohlížečích, desktopových aplikacích. Relační data vyžadují programování vrstvy pro zpřístupnění dat uživateli. XML DB ukládá data jako XML a také vyvolává XML data jednoduchost výměny XML je jazykem B2B datové vyměny. XML DB umožňuje čistou výměnu, bez několikanásobného překládání (ztrácí se informace)

Kdy použít Oracle XML DB? XML DB je vhodné pro každou aplikaci, ve které jsou některá nebo všechna data reprezentována pomocí XML XML DB zabezpečuje vysokou výkonnost uložení, správy a získání XML dat. Podporuje možnost rychlé a jednoduché tvorby XML z relačních dat. typické aplikace: B2B nebo A2A integrace internetové aplikace Content-management aplikace Messaging Web Services

Použití Oracle XML DB Uložení dokumentu XML v Oracle DB použitím datového typu XMLType uložení ve sloupci/tabulce Příklad: CREATE TABLE PURCHASE_ORDER_TABLE ( po_number number(16), purchase_order xmltype ); CREATE TABLE XMLTABLE OF XMLType;

Přístup k datům XML nespočet funkcí poskytovaných Oracle XML DB je založených na W3C standardu XPath SQL operátory pro práci s XML: existsnode() - vyhodnocuje, zda danný dokument obsahuje uzel definovaný XPath výrazem (vrací 1 nebo 0) extractvalue() - operátor pro navrácení hodnoty textového uzlu nebo atributu asociovaného s XPath výrazem. Datový typ návratové hodnoty je převeden na odpovídající datový typ SQL. extract() - používá se v případě, že XPath výraz vrací množinu uzlů (vrácené uzly jsou typu XMLType). Výsledkem může být celý XML dokument nebo jeho část. value() - tento operátor umožní návrat celého XML dokumentu

Vložení záznamu do tabulky INSERT INTO PURCHASE_ORDER_TABLE VALUES (1234, XMLTYPE( '<PurchaseOrder> <Reference>BLAKE-2002</Reference> <Actions/> <Rejects/> <Requestor>David E. Blake</Requestor> <User>BLAKE</User> <CostCenter>S30</CostCenter> <LineItems> <LineItem ItemNumber="1"> <Description>A Night to Remember</Description> <Quantity>2</Quantity> </LineItem> </LineItems> </PurchaseOrder>'))

Dotaz nad tabulkou SELECT extractvalue (P.Purchase_Order,'PurchaseOrder/User') FROM PURCHASE_ORDER_TABLE P WHERE existsnode(p.purchase_order, '/PurchaseOrder[CostCenter="S30"]') = 1 Výsledkem dotazu bude (s ohledem na předchozí příklad) řetězec 'BLAKE' SELECT value(p.purchase_order) FROM PURCHASE_ORDER_TABLE P WHERE existsnode(p.purchase_order, '/PurchaseOrder[Reference="BLAKE-2002"]') = 1 Návratovou hodnotou bude dokument vložený v předchozích příkladě.

Aktualizace hodnot Příklad změny hodnoty textového uzlu určeného XPath výrazem: UPDATE PURCHASE_ORDER_TABLE P SET value(p.purchase_order) = updatexml(value(p.purchase_order), '/PurchaseOrder/Reference/text()','MILLER-2002') WHERE existsnode(value(p.purchase_order), '/PurchaseOrder[Reference="BLAKE-2002"]') = 1;

Integritní omezení unikátní index: alter table PURCHASE_ORDER_TABLE add constraint REFERENCE_IS_UNIQUE unique (PurchaseOrder."PurchaseOrder/Reference") cizí klíč: alter table PURCHASE_ORDER_TABLE add constraint USER_EMP foreign key (PurchaseOrder."PurchaseOrder/User") references emp(name)

Generování XML z SQL dotazu Pro vytváření XML z SQL dotazu nad tabulkou (tabulkami) slouží operátor sys_xmlgen(). select sys_xmlgen(null, empno, empname, salary*100, hiredate) as xml_doc from scott.emp e Výsledkem budou (pokud v tabulce emp existují 2 záznamy) XML dokumenty: <?xml version='1.0'?> <ROW> <EMPNO>20</EMPNO> <EMPNAME>John</EMPNAME> <HIREDATE>12-20-1999 20:23:23.0</HIREDATE> </ROW> <?xml version='1.0'?> <ROW> <EMPNO>30</EMPNO> </ROW>

Použití XSL transformace v XML DB XSLT je v Oracle XML DB prováděna především pomocí operátorů transform() a XMLTransform(). SELECT value(p.purchase_order).transform( xmltype(getdocument('purchaseorder.xsl'))) FROM PURCHASE_ORDER_TABLE P WHERE existsnode(value(p.purchase_order), '/PurchaseOrder[Reference="BLAKE-2002"]') = 1; vrátí (za předpokladu že toto provádí ona transformace): <html> <head/> <body bgcolor="#003333" text="#ffffcc" link="#ffcc00" vlink="#66cc99" alink="#669999"> <FONT FACE="Arial, Helvetica, sans-serif"> <center>... </FONT> </body> </html>

Odkazy http://otn.oracle.com/tech/xml/xmldb/index.html http://otn.oracle.com/tech/xml/xmldb/current/twp.pdf http://www.sweb.cz/bielohlav/oracle/