Fully (or Purely) Relational XPath and XQuery Processors
Maurice van Keulen,
University of Twente, The Netherlands
Torsten Grust,
University of Konstanz, Germany
Abstract
Existing relational database technology has great potential for being
able to manage the ever growing volumes of XML data. Query efficiency can
be achieved by choosing an appropriate encoding. It has been shown that
encodings based on assigning preorder and postorder ranks to each XML
node have properties that can be exploited well in an ordinary RDBMS.
Such relational encodings of XML are the basis of this tutorial.
We will investigate how to exploit encoding properties and reuse DBMS
functionality for various aspects of XML data management.
Obviously, encoding variants and their properties are examined. We then
show how XPath queries can be evaluated using plain SQL. The performance
of such queries can be significantly improved if special-purpose
joins are employed. We will examine join algorithms and show how
a special-purpose join can be implemented in an RDBMS. Efficient
execution of full XQuery provides additional challenges. We will present
a compilation technique that uses a rather standard relational algebra
as an intermediary. Besides querying, we also touch upon XML document
loading and maintenance. Finally, we pay significant attention to
exploiting encoding properties for validating XML instances against XML
Schema descriptions in an RDBMS.
This tutorial incorporates prototype demonstrations and assignments to make
the theory more concrete and to strengthen understanding.