Separation of Content and Structure

Hunter, David dhunter at Mobility.com
Fri Jul 23 22:40:17 BST 1999


> From: WorldNet [mailto:csgallagher at worldnet.att.net]
> 
> But for the preponderance of redundant questions or the 
> assumption of same
> may we consider the questions, "How might the relational 
> database remain
> useful to content publishers when we are motivated to use XML 
> to separate
> content from structure"? and "What will become of the 
> relational database"?
> 
> Do any of those who have a command of the use of XML remain 
> using relational
> databases and in which context as a development tool might 
> the relational
> database remain useful?

I don't come from the "content publisher" world, but from the "web
application" world.  i.e., applications that run over the web, or run using
web technologies.

In <em>that</em> context, I would state that the decision to separate
content from structure has nothing to do with choosing a database.  The fact
is, you need to store your data somewhere and access it quickly, and
relational databases have proven themselves to be fast and powerful tools
for doing just that.  It's what they were invented for, it's what they're
good at, and XML or no XML, there's no reason not to use them for that.

In my view of the computing world, databases are used for storing/retrieving
information, and XML is used for communicating it.  (This is a very BROAD
view, and one with many, MANY exceptions.)  With databases becoming "XML
aware", this will perhaps become even easier.  (Oracle is now XML aware, and
Microsoft's SQL Server will be... soon.)  But, the fact is, it's a pretty
Mickey Mouse operation to write a specific data-service component for your
application which an takes an XML stream and pops the data into SQL
statements to be put in your relational database, or formats the results of
a SQL statement and returns it as XML.

That is not to say, however, that you can't store XML <em>in</em> your
database.  Perhaps if I have an XML format which describes a Person, like
so:

<Person>
	<firstname/>
	<lastname/>
	<a-whole-bunch-of-other-data>
		<and-even-more-data/>
	</a-whole-bunch-of-other-data>
</Person>

and I know that
a)  I'll always want that data in one big chunk
b)  For my application, I'll only ever need to do a search by lastname, and
never any other fields

Then I can design a relational table which has two columns, lastname and
XML.  In this particular case, that looks like pretty bad normalization, I
admit :-), but you can easily see cases where you might want to store
"blocks" of data in one XML "chunk", to be easily retrieved.  (SELECT XML
FROM tablename WHERE lastname='Hunter')

So I think the relational database has a major part to play in many -if not
most- web applications.

David Hunter
david.hunter at mediaserv.com
MediaServ Information Architects
http://www.MediaServ.com

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)





More information about the Xml-dev mailing list