Databases Reference
In-Depth Information
DB2 has a separate parser for SQL and XQuery statements but uses a single
integrated query compiler for both languages. No translation from XQuery to
SQL is performed. DB2's compiler and optimizer are extended to handle SQL
and XQuery in a single modelling framework. An overview of the hybrid engine is
shown in Figure 2-2.
Figure 2-2 Integrating XML and relational data
2.2.4 pureXML storage overview
In DB2 pureXML, the XML documents are stored on disk pages in tree structures
matching the XML data model. This avoids the mapping between XML and
relational structures, and the impedance (hindrance) mismatch. XML is a data
type in DB2, just like any other SQL type.
XML data type can be used in a CREATE TABLE statement to define one or
more columns of type XML. Since XML has no different status than any other
types, tables can contain any combination of XML and relational columns. A
column of type XML can hold one well-formed XML document for every row of
the table. The NULL value is used to indicate the absence of an XML document.
Even though every XML document is logically associated with a row of a table,
XML and relational columns are stored differently. XML schema is not required in
order to define an XML column or to insert or query XML data. An XML column
can hold schema-less documents as well as documents for many different or
evolving XML schemas.
Schema validation is optional on a per document basis. Thus, the association
between schemas and documents is per document and not per column, which
provides maximum flexibility. Unlike a varchar or a character large object (CLOB)
type, the XML type has no length associated with it. Currently, only the
client-server communication protocol limits XML bind-in and bind-out to two GB
Search WWH ::




Custom Search