23
XML Views El Hazoui Ilias Supervised by: Dr. Haddouti Advanced XML data management

XML Views

  • Upload
    nathan

  • View
    35

  • Download
    0

Embed Size (px)

DESCRIPTION

XML Views. Advanced XML data management. El Hazoui Ilias. Supervised by: Dr. Haddouti. View Concept in Relational Databases. Any relation that is not part of the logical model but is made visible to a user as a virtual relation. - PowerPoint PPT Presentation

Citation preview

Page 1: XML Views

XML Views

El Hazoui Ilias

Supervised by: Dr. Haddouti

Advanced XML data management

Page 2: XML Views

View Concept in Relational Databases.

• Any relation that is not part of the logical model but is made visible to a user as a virtual relation.

• Acts as a window through which the data from the tables can be viewed or changed (limited).

- Purpose: - Certain data need to be hidden from users.- Create a personalized collection of relations that

matches a certain user’s intuition.

Page 3: XML Views

What is an XML view ?

? ----> XML Document • XML View can be applied to any kind of

data source such as Relational databases.

• XML view allows us to query the database as if it were storing XML. We query the database by querying the XML view, to get at the end…. An XML document.

XML View

Page 4: XML Views

Importance of XML Views.

• XML Data is primarily used as a common model for heterogeneous data, since XML is becoming the standard for data integration, and data exchange on the internet based business applications.

• But! Most data will continue to be stored in relational databases. This has created the need to publish existing business data as XML.

• providing XML views over that relational data is one solution.

Page 5: XML Views

Web Services Example

XQuery over Catalog

Relational Database

Application CodeConvert XQuery to

SQL Query

SQL Query

InternetBuyer

SupplierApplication CodeConvert Relational

Data to XML

Supplier provides an XML View of its Data

XQuery XQuery Result

XQuery Result

SQL Result

Page 6: XML Views

XML View Architecture.

• A possible architecture is based on three components:

- The data server that can be a database, an XML repository, or any source capable of exporting XML data.

- The View server that restructures data to construct the view, possibly deals with access rights, and integrates data from several sources.

- An XML view document that is handled by a standard Web browser and interacts with view server to obtain data.

Page 7: XML Views

XML View Architecture

Data Server

XML Repository

View Server

View Specification

View Documents (Possibly virtual)

Web Browser

View Pages

External Application

XML Stylesheet

Page 8: XML Views

Deriving XML Views from a Relational Schema

- Simplest Mapping• Root node is the database; each view and base

table is a node at the next level; each tuple in the view/table is a node at the following level; and finally, each attribute in each tuple is a node below that.

• ELEMENT Database (Table)• ELEMENT Table (Row)• ELEMENT Row ( Attribute)

Page 9: XML Views

Deriving XML Views from a Relational Schema (contd..)

Database

Relation, R1

Tuple, T1

Attribute, A1 Attribute, An

Ri

Relation, Rn

Universal View of Any Relational Data

Page 10: XML Views

Implementation of XML viewsMIX project of San Diego Supercomputer Center and the Database Lab at the University of California San Diego.

• The Mediation of Information using XML (MIX) project, is a wrapper-mediator system which employs XML as a mean for information modeling, as well as interchange across heterogeneous information sources ( GIS systems, and web sites with HTML pages).

However, this project is not optimized for RDBMS’s.

Page 11: XML Views

Implementation of XML views

• Most commercial database systems provide a way to create materialized views of relational data.

• However, most of these systems do not support queries over XML views.

• MS SQL Server is the only one that supports queries over XML views, but this query support is very limited. This is because queries are specified using XPath, which is a subset of XQuery (XPath cannot specify joins ).

Page 12: XML Views

Implementation of XML views

SilkRoute

• It is a related system that supports queries over XML views of relational data. But, it has many drawbacks.

• It does not support XQuery.

• It uses a view composition that produces SQL queries with redundant joins.

Page 13: XML Views

Implementation of XML views

XPERANTO

• XPERANTO middleware system allows existing relational data to be viewed and queried as XML, and which works on top of any relational database system.

• Users can define their own views on top of the default views using XQuery.

• The main advantage of this approach is that a standard XML query language is used to create and query views (unlike most RDBMS ).

Page 14: XML Views

High-Level Architecture

Relational Database

XQuery to SQLConverter

XQuery Query

SQL Query SQL Result

Query Result

XPERANTO

Tagger

push data- and memory-intensive computationdown to relational engine

Page 15: XML Views

Example Relational Data

id custname custnum10 Smith Construction 77349 Western Builders 7725

order

oid desc cost10 generator 800010 backhoe 24000

oid due amt10 1/10/01 2000010 6/10/01 12000

item payment

Page 16: XML Views

Default XML View

<db> <order> <row> <id>10 </id> <custname> Smith Construction </custname> … </row> <row> <id> 9 </id> <custname>Western Builders </custname> … </row> </order> <item> <row> <oid> 10 </oid> <desc> generator </desc> <cost> 8000 </cost> </row> <row> <oid> 10 </oid> <desc> backhoe </desc> <cost> 24000 </cost> </row> </item> <payment> … similar to <order> and <item> </payment></db>

Page 17: XML Views

XML View for Partners<order id=“10”> <customer> Smith Construction </customer> <items> <item description=“generator” > <cost> 8000 </cost> </item> <item description=“backhoe”> <cost> 24000 </cost> </item> </items> <payments> <payment due=“1/10/01”> <amount> 20000 </amount> </payment> <payment due=“6/10/01”> <amount> 12000 </amount> </payment> </payments></order>…

Page 18: XML Views

Creating an XPERANTO Viewcreate view orders as ( for $order in view(“default”)/order/row return <order id=$order/id> <customer> $order/custname </customer> <items>

</items> <payments>

</payments> </order>)

for $item in view(“default”)/item/rowwhere $order/id = $item/oidreturn <item description=$item/desc > <cost> $item/cost </cost> </item>

for $payment in view(“default”)/item/row where $order/id = $payment/oid return <payment due=$payment/date> <amount> $payment/amount </amount> </payment> sortby(@due)

Page 19: XML Views

Allow Partners to Query View

Get all orders of customer ‘Smith…’

for $order in view(“orders”)where $order/customer/text() like ‘Smith%’return $order

Page 20: XML Views

Conclusion

• XML Views permits a flexible, efficient XML representation of relational data.

• An XML View can select data from disparate tables and join them together into one XML document.

• XPERANTO allows users to publish relational data as XML– Using a high-level XML query language

– Eliminating the need for application code

Page 21: XML Views

Conclusion

• XML Views permits a flexible, efficient XML representation of relational data.

• An XML View can select data from disparate tables and join them together into one XML document.

• XPERANTO allows users to publish relational data as XML– Using a high-level XML query language

– Eliminating the need for application code

Page 22: XML Views

Conclusion

• XPERANTO works on top of any relational database system

• Has a very good performance result, for example the query compilation time is in the order of milliseconds (200 ms for query over 12 tables).

• But, researches are still carried out to define a standard of XML views that will better serve the XML community.

Page 23: XML Views

Your questions are more than welcome.