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

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

    20-Dec-2015
  • Category

    Documents

  • view

    221
  • download

    2

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

XML Views

El Hazoui Ilias

Supervised by: Dr. Haddouti

Advanced XML data management

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.

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

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.

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

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.

XML View Architecture

Data Server

XML Repository

View Server

View Specification

View Documents (Possibly virtual)

Web Browser

View Pages

External Application

XML Stylesheet

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)

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

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.

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 ).

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.

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 ).

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

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

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>

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>…

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)

Allow Partners to Query View

Get all orders of customer ‘Smith…’

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

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

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

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.

Your questions are more than welcome.