De : Mike.Champion@SoftwareAG-USA.com [mailto:Mike.Champion@SoftwareAG-USA.com]
Envoyé : lundi 2 juillet 2001 03:42
À : firstname.lastname@example.org
Objet : RE: Data storage, data exchange, data manipulation
> -----Original Message-------------------InterScan_NT_MIME_Boundary--
> From: Jeff Lowery [mailto:email@example.com]
> Sent: Sunday, July 01, 2001 5:46 PM
> To: 'Bullard, Claude L (Len)'; Ronald Bourret; Xml-Dev (E-mail)
> Subject: RE: Data storage, data exchange, data manipulation
> I think it was Tom Passin who pointed out the distinction
> between conceptual and physical data models.
Merging back with the Fabian Pascal thread, this is exactly the point that RDBMS fundamentalists stress to argue why XML and other "post-relational" data models are not needed: In principle one builds a normalized conceptual model, uses that as the user's view of the underlying data, and relies on the principle of "data independence" to isolate issues of indexing, cacheing, and any other nasty stuff that implementers and DB administrators need to care about away from the user's view of the database. One colleague uses the metaphor of the Eloi and the Morlocks to illustrate this: DB users should be like Eloi who live in an a happy, idealized world of conceptual models, and let the Morlocks in the back office figure out the ugly details of how to make this all work in practice. (We're not supposed to think about what happens to the Eloi when the Morlocks get hungry, I guess).
One substantive critique of XML and XML databases, which I take seriously enough to put up with the ranting of the relational fundies now and then, is that there is no obvious way in XML to hide the physical data model away from the conceptual data model. In a sense, we're back to the pre-relational days where one had to understand the physical structure of the data in order to work with it. I hope we can define a formal data model that has the "relational" characteristic of defining mathematical operands that are manipulated by well-defined operators, but has the "XML" characteristic of dealing with attributed trees (or graphs, or nested sets, or whatever...i.e., an "infoset algebra"). Arguably, the XQuery and perhaps the RDF people are working toward something like this goal. I'm not sure about the Query algebra or whether this works in the RDF model, but RDBMS users can query for information patterns without knowing or caring what order the rows or columns in a physical table are; XML user's currently *have* to care whether information is modeled as an element or an attribute, and (for elements anyway) the physical order is defined as significant.
Granted, the RDBMS people tend to say this is impossible, and many XML people say is un-necessary (for example, arguing that there are semantic differences between elements and attributes, and we *should* care about the distinction). And granted, it so long as some "Morlock" can define an XSLT transform from various conceptual schemas (oops, sorry, schemata) to a physical schema, we can have the Marketing and Visual Basic "Eloi" happily playing with idealized conceptual schema that hide the ugliness of physical reality. Nevertheless, I think we in the XML world can do better ... but to do so requires a lot more attention to fundamentals, IMHO.