Download Folie 1 - Roggeweck

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Relational algebra wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

SQL wikipedia , lookup

Ingres (database) wikipedia , lookup

Navitaire Inc v Easyjet Airline Co. and BulletProof Technologies, Inc. wikipedia , lookup

PL/SQL wikipedia , lookup

Concurrency control wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Database wikipedia , lookup

Versant Object Database wikipedia , lookup

Relational model wikipedia , lookup

Clusterpoint wikipedia , lookup

Database model wikipedia , lookup

Transcript
XML Databases
by Sebastian Graf
Table of Contents
XML Database Overview
 XML Database Example
 XPath
 XML-QL
 XQuery
 Storing of XML Databases
 Relational DB vs. XML
 XML based Systems

XML Database Overview

XML DB
Tree structure
 Think in nodes & axes


Navigation in Tree

XPath
XML Database Example
<europe>
<country car_code = D memberships = org-eu org-nato …>
<name>Germany</name>
<capital>Berlin</capital>
<poulation> 82 440 134</population>
<country code>de</country code>
<bundesland>
<name>NRW</name>
<capital>Düsseldorf</captial>
<population>18 052 000 </population>
</bundesland>
</country>
</europe>
XPath

Describes how to process XML items


logical path to a node (location path)
Provides abstraction for XML languages
XSLT
 XPointer
 XQuery

XPath
/europe/country/name
Selects all names

With predecessor „country“

With predecessor „europe“
XPath examples
/europe/country[population > 50 000 000]
 All countries with population > 50 000 000
/europe/country/@car_code
 All car_codes of Europe
/europe/country[name = Germany]//capital
 All captials in Germany
XPath Conclusion
XPath offers basics navigation and
selection features
 However it is no complete XML Query
Language


No joins possible
Table of Contents
XML Database Overview
 XML Database Example
 XPath
 XML-QL
 XQuery
 Storing of XML Databases
 Relational DB vs. XML
 XML based Systems

XML-QL
Early proposal for XML Query language
 Structure:

<Selection part> <construction part>
 WHERE #### IN #### CONSTRUCT ####


Result : XML Document
XML-QL Example

WHERE
IN
CONSTRUCT

<country car_code=$id>
<name>$name</>
</>
“…/europe.xml“
<country car_code=$id name=$name</>
<result>
<country car_code=“D” name=“Germany”></>
<country car_code=“F” name=“France”></>
…..
</result>
XQuery
XQuery should extend functionality of
XML-QL
 Design was related to SQL
 XQueries are of the form :

FOR ### LET ### WHERE ### RETURN ###
 FLWR or Flower
 Also possible:
FOR-IN (FLWR) WHERE … (FLWR) … RETURN … (FLWR)…
XQuery example

Task :
FOR
LET
WHERE
RETURN
find all countires, that have a population
> 1 000 000 and have at least 10 cities
$c IN document(„europe.xml“) // country
$cities := $c // city
$c/@population > 1 000 000
AND count($cities) > 10
<bigcountry population = {$c/@population}>
<name>{$c/@name}</name>
{$cities}
</bigcountry>
XQuery Join example

Task :
FOR
WHERE
RETURN
find all pairs of countires and cities, that have
the same name
$country IN //country, $city IN //city
$country/name/text() = $city/name/text()
<pair name={$country/name/text()}
country={$country/@car_code}
city={$city/@country}>
XQuery – what is missing?
No data manipulation in version 1.0
 Raw Data has to be accessed for data
manipulation


Planned for later versions:




Delete
Rename
Insert
Replace
Table of Contents
XML Database Overview
 XML Database Example
 XPath
 XML-QL
 XQuery
 Storing of XML Databases
 Relational DB vs. XML
 XML based Systems

Storing of XML Databases

First Approach : one CLOB
Whole Database stored as value
 Very easy to implement
 SQL statements cannot be used for query


Second Approach : transformation
Transformation to Relations
 SQL statements can be used
 High transformation effort

Relational DB vs. XML

The SilkRoute
Automatic transformation : relations  XML
 Predefined DTD


Xperanto
Mapping of relational Database to XML
 Adds XML functionality to DB2

XML based Systems (B2B)

Software AG

Tamino

XML platform




Storing
Development
Integreation
eXcelon

Query interface for XPath
More about XML databases
Web & Datenbanken
dpunkt.verlag
by Erhard Rahm & Gottfried Vossen
ISBN : 3-89864-189-9
BA Library : INF G 5100.62
THE END
Thanks for your attention