RE: [xml-dev] Normalizing XML [was: XML information modeling best practices]

From
John F Schlesinger <>
To
, 'Ronald Bourret' <>,
Date
2002-04-30T23:15:29Z
ID
<006a01c1f09c$ececf080$>
Thread
RE: [xml-dev] Normalizing XML [was: XML information modeling best practices]
Michael said:

"When we design XML for storage and query, however, the partitioning of
data
into documents is an important design decision, and I have seen no
adequate
set of rules or guidelines for doing it (I've made some up on occasions,
when pressed!). Certainly Codd's rules don't help at all, in my view."

Codd and Date would say (I know, I'm putting words in their mouths, but
maybe Date will see this and tell me if I'm wrong) that it makes no
difference to the design of the database whether the data, when
manipulated, is represented as XML or anything else. A 'persistent' DOM
is at the same level as the model of a disconnected record set, say (it
is a way of manipulating the results of a query).

Putting this another way, it is not XML that you design for storage and
query, but the model of data carried by that XML. If you want to have a
logical model of data based on XML documents (that is, a hierarchical
database) then you will have all the problems of hierarchical databases
that led Codd away from IMS/DB (aka DL/1) to relational database. As
Codd says in the first sentence of his 1979 paper: 

"The relational model for formatted databases was conceived ten years
ago, primarily as a tool to free users from the frustrations of having
to deal with the clutter of storage representation details."

But more importantly, Codd goes on to say that the operators of the
relational model are just as important as its structure. 

"Structure without corresponding operators or inferencing techniques is
rather like anatomy without physiology." 

What this boils down to is that there is no formal model of data other
than the relational one when it comes to storage of data. Hierarchical
databases are a mess (try explaining IMS logical update rules to
anyone), CODASYL (network) databases are ad hoc and object databases
cannot even agree on a structure let alone a set of operators. XML
cannot even get storage operators into its data manipulation model.

Given this background, I don't think we will easily come up with a
formal theory of normalization of XML data in order to eliminate
functional, multi-valued and join dependencies under a well-defined set
of operations.

However, I do think XML with XML Schema is very useful for formatting
messages (where storage and update is not an issue). 

John F Schlesinger
SysCore Solutions