OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] XML-enabled databases, XQuery APIs

[ Lists Home | Date Index | Thread Index ]

> I don't understand this nearly well enough.   In a
> relational database, what are the characteristics
> of an "XML type"?

In the mid-1980s, SQL databases stored tabular data and the SQL standard
included alphanumeric types (numbers and characters).

Fast forward ten years and databases had to support more complex types.
Applications required geo-spatial data, multidimensional data, time series,
images, audio, video and text. Object-relational technology emerged and SQL
platforms began supporting user-defined types, user-defined functions and
content-based queries.

A classic example was the sunset query at the California Department of Water
Resources (DWR). By 1995, DWR had a half-million 35mm slides. It classified them
for an SQL database using keywords and text descriptions. That classification
and indexing scheme was inadequate. Clients requested photos based on content,
such as a search for a reservoir with a low water level. To provide
content-based SQL queries, DWR digitized the images in Photo-CD format and put
them in the database. That enabled them to run content-based SQL queries such as
finding images of sunsets (based on detecting orange at the top of the image).

Fast forward to 2003 and now the SQL:2003 standard includes nested collections,
multisets and an XMLType.

Implementation of the standard is a bit more work than simply updating the
parser. Supporting a data type means the SQL DBMS provides a data definition
syntax, type checking, constraints, rules and access methods. It knows how to
store, index, and optimize queries involving that type.

The optimizer determines the best access plan for a query and it uses indexes
for performance. For queries with alphanumeric types, a DBMS can use b-tree
indexes and b-tree based data access. For complex types, the SQL platform must
use different access methods and indexing techniques such as r-trees, quadtrees,
KDB-trees and so on.

So an SQL column of XMLType is a hierarchically-nested collection of elements.
There's a structure to the data, order must be preserved, and it's understood by

======== Ken North ===========


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS