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 Code Convert XQuery to SQL Query SQL Query Internet Buyer Supplier Application Code Convert Relational Data to XML Supplier provides an XML View of its Data XQueryXQuery 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
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..)
Implementation of XML views MIX 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 SQL Converter XQuery Query SQL Query SQL Result Query Result XPERANTO Tagger push data- and memory- intensive computation down to relational engine
Example Relational Data idcustnamecustnum 10Smith Construction7734 9Western Builders7725 order oiddesccost 10generator backhoe24000 oiddueamt 101/10/ /10/ itempayment
Default XML View 10 Smith Construction … 9 Western Builders … 10 generator backhoe … similar to and
XML View for Partners Smith Construction …
Creating an XPERANTO View create view orders as ( for $order in view(“default”)/order/row return $order/custname ) for $item in view(“default”)/item/row where $order/id = $item/oid return $item/cost for $payment in view(“default”)/item/row where $order/id = $payment/oid return $payment/amount
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.