Subject: Re: Theory question: Node trees and SQL.
From: MrDemeanour <mrdemeanour@xxxxxxxxxxxxxx>
Date: Tue, 04 Jul 2006 22:07:04 +0100
|
Mukul Gandhi wrote:
On 7/4/06, Phillip B Oldham <phillip.oldham@xxxxxxxxxx> wrote:
I'd like to ask what in your opinion is the best way to store trees
in SQL for use with XSL translation.
I think we can naturally imagine the relational database as an XML
tree, where we would see the tables, rows, and columns as elements in
the XML document.
For e.g. a list of employees (an example taken from Oracle RDBMS
docs) can be modeled as the XML structure:
<EMPLOYEES> <ROW> <EMPLOYEE_ID>205</EMPLOYEE_ID>
<LAST_NAME>Higgins</LAST_NAME> <SALARY>12000</SALARY> ..<!-- other
columns --> </ROW> ... <!-- other rows --> </EMPLOYEES>
This could be stored in the relational database as an EMPLOYEE table.
Yes; but that's the opposite of what the OP asked. You have answered the
question "What is the best way to represent a SQL table as
tree-structured XML".
Relational databases are (by design) not hierarchical in nature. They
are unsuited to representing arbitrary tree-structured data.
Once upon a time there was a variety of different database models in
common use, one of which was sometimes known as a Hierarchical Database.
Over the course of about five years in the early 'eighties, the
relational model more-or-less wiped the floor with the opposition,
leaving the older database models as niche technologies.
The hierarchical model survives in the form of LDAP; however LDAP itself
is not a database model, rather it's an access mechanism that relies on
some other storage technology - often Berkley DB.
--
Jack.
|