Chapter 12 – Using XML to transport relational data

When I first started working with XML data, I truly wish this chapter had been a reference for me.  Unfortunately, the book hadn’t been written yet.  This chapter provides an excellent set of definitions, explanations and examples to the point of having a homework section called out in the chapter itself.  I think that’s a really cool idea.  

This week has been an interesting one for me with respect to my work.  I’ve been pulled in a dozen different directions, worked every evening to keep up and all the while I found myself trying to get to an issue that I thought might exist with a data model change.  The old saying “when it rains, it pours” is very accurate at times in life and right now this is one of those times… I bring all of this up for a couple of reasons.  The first reason is that no matter how busy you find yourself when you are designing relationships, attributes or defining entities in your data model, take the time to really think through it.  The second is to make the broader point that while everyone is incredibly busy, its important to make time to learn.  This book is a tremendous resource for anyone who touches SQL Server.  Regardless of your role with the database, there is something here for you.

In this chapter, I was glad to see that Matija took the time to spell out the importance of understanding all of your data elements so that a proper schema could be designed.  In the recent past and as agile methodologies become more pervasive I’m finding that development teams or project teams don’t take the time to do the true analysis on the data model and they end up forcing the model they have to work or they “bolt-on” solutions.  There are always reasons that teams find to not take the time to do this correctly and it’s precisely those reasons that dictate the importance of taking the time.  Read:  production fire-drills prevent you from taking the time or This has to get started asap because our system is so brittle that we have to build in regression testing cycles for the entire application even when the change doesn’t require that if it had been built out with a bit more forethought.  The list of excuses and reasons is often long, well justified and at times not something that can be overcome; however, it is absolutely critical to fundamentally understand WHY creating a data model the proper way matters. 

In the case of XML, this as true as it is in a relational data model.  In all reality they are not that different.  The most significant difference is at the physical layer and that’s a different conversation for a different chapter (like 10 and 11).  One of the best methods to share data with services that consume your data or outside entities that rely on your data is the value of the XML Schema.  It’s easily understood, it’s easily parsed, it’s format is widely understood and there are many tools and RDBMS’ that can share data without proprietary drivers and custom code.

As I’ve said in previous posts, XML is a great tool when used for the right thing.  In my experience, XML is often mis-used.  Use this chapter as a reference if you are getting ready to build a solution where XML will provide actual value to the process *please note that I didn’t mention if it provides value for YOU the developer; but rather the larger data-centric eco system where you are employed.

In closing, I’d like to thank Matija for taking the time to write an excellent chapter and also for taking the time to answer some interview questions about the chapter.  That interview can be found here:  https://sqlperspectives.wordpress.com/2010/04/13/chapter-12-author-matija-lah/


0 Responses to “Chapter 12 – Using XML to transport relational data”

  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s


Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 11 other followers