Re: [xml-dev] XML vs relational database

From
Ken North <>
To
Sylvain LOISEAU <>, Jim Melton <>
Date
2007-08-16T17:08:59Z
ID
<002201c7e028$351dd650$2201a8c0@DURANTE>
Thread
Re: [xml-dev] XML vs relational database
Sylvain Lousieu wrote:
>For instance, one can ask for a structural property of the tree, in
>XPath, say the name of an element, by (1) referring to this element
>by its position and (2) using local-name() :
>local-name(./children[1]). In a relational algebra model, there is
>no order of the field, if I understand correctly. I see no other way
>of adressing a field than by its name.


Jim Melton wrote:

>>the call-level interface (CLI, of which ODBC is
>>an implementation) defined in 9075-3:2003 (soon to be 2008) defines
>>an API to get the same information without having to do all those
>>annoying SELECTs ;^)

>>It is true that in the relational model of data, attributes (columns)
>>have no order with a relation (table).  However, in the SQL model,
>>columns are, in fact, ordered.  In spite of that, the SQL standard
>>strongly(!) discourages code that depends on the sequence of columns
>>within a table.

SQL/CLI and JDBC provide metadata about a database and query result sets. For 
operating with a column of a result set (rowset), a JDBC program can, for 
example, access it by name or ordinal position.  In some early drivers, 
accessing a column by index was less prone to errors than accessing it by name.

But a core concept of SQL database technology has been to free applications from 
navigational logic and details of the physical data model. The idea is to 
provide operations at a logical level, using a database engine that optimizes 
queries and produces a plan for physical access to the data.

If physical data independence and operating at a logical level had been prime 
directives during the development of the XML specs, we might be talking about 
nested sets (which preserve order) as the XML document model.