[xquery-talk] SQL Server 2005

Michael Kay mhk at mhk.me.uk
Sun Jan 22 22:12:57 PST 2006

> As a general rule, it seems that the use cases for 
> XML-enabled databases 
> and native XML databases are separate. In particular, the 
> general rule 
> of thumb is that, if the data easily maps to the relational 
> model, then 
> do that. If it doesn't, start thinking about using the XML data model 
> directly.

I'm actually coming to the view that whether or not the data "easily maps to
the relational model" depends far more on the developer's perspective than
on the data itself. If your mindset is tables, the data will look
rectangular, but if your mindset is documents, it won't. Two people looking
at an ordinary business document (an insurance claim, say) will come to very
different conclusions about whether it fits the relational model or not.

The decision should really be based on the process model, not the data
model. If a document like an insurance claim is processed as a document, and
has a life-cycle as a document, and if it's convenient for applications (and
users) to view it as a document, then there's no point shredding it, though
many people who've spent too long with SQL will instinctively do so. That's
partly because database culture makes the process model secondary: the
philosophy is that you don't know how the information will be used so you
shouldn't build that into your design.

Michael Kay

More information about the talk mailing list