[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: storing xml files into database

  • From: Ronald Bourret <rpbourret@r...>
  • To: Bill Lindsey <bill@b...>
  • Date: Mon, 10 Sep 2001 13:07:39 -0700

storing tree in database
Bill Lindsey wrote:
> 
> Frank Richards wrote:
> > XML is a tree of elements. Naively mapping that tree onto a table causes the
> > RDBMS to
> > thrash it's guts out doing joins to go down the tree --
> [ ... ]
> > XML in an
> > RDBMS can easily hit six or seven joins per query.
> 
> A typical, naive definition of a "nodes" table does lead to unacceptable
> performance due to the necessity of many self-joins.  It is possible,
> however, to devise a scheme for encoding nodes' context in a compact
> form, optimized for an RDBMS' indexing facility, and build a
> generic table structure, capable of storing any well-formed
> XML, yet does not exhibit the self-join problem.

I think you guys are talking apples and oranges. The typical mapping
solution Frank is talking about is (I believe) one that maps the data in
XML documents to tables. For example, if I have a <SalesOrder> element,
I map it to a SalesOrder table. An <Item> element maps to an Items
table, a <Part> element maps to a Parts table, and so on. This obviously
leads to a lot of joins when retrieving data.

For a very nice paper discussing different strategies for minimizing the
cost of these joins, see:

   http://www.cs.wisc.edu/~jai/papers/RelationsToXMLJournal.pdf

As I recall, the most effective strategy was that which UNIONs selects
on different tables. This is the strategy used by SQL Server's SELECT
... FOR XML EXTENDED syntax.

The solution Bill is talking about maps the document structure itself
(e.g. a DOM tree) to the database. Thus, a <SalesOrder> element is
mapped to an Elements table (an actual row of data contains the value
"SalesOrder" in the ElementName column. Similarly, all other elements
are mapped to this table as well.

For a nice paper explaining one way to retrieve data from such a table
without any self-joins, see:

  
http://www.sees.bangor.ac.uk/~rich/research/papers/uwb_rge_IDEAL2000.pdf

-- 
Ronald Bourret
XML, Databases, and Schemas
http://www.rpbourret.com
Speaker, Geek Cruises' XML Excursion '02

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.