ON XQUERY: WHY SHOULD WE?
with Fabian Pascal

 

 

 

From: Colin Saxton 

Date: 16 Sep 2005

 

I have been involved in IT now since the late seventies and it ceases to amaze me that developers are starting to embrace XQuery ... what was wrong with extending SQL? After all, its name implies Standard Query Language ... just because SQL was developed for tabular data doesn't mean that it cannot be extended to work with tree/networked data!

 

Why do we feel the need to create a completely new language when we could have, and should have, extended SQL?

 

Another example is SOAP (Simple Object Access Protocol) where it has now become so bloated and over complicated that it has exceeded its original design of being , well, Simple!

 

(I won't even start on why the industry has adopted a form of passing data that effectively quadruples the network load of any structure that uses it!!?? I sometimes think that XML was created so that hardware sales would increase through the extra network load)

 

I think that its about time that the community introduced some common sense into the standards bodies!

 

 

From: Fabian Pascal

 

Well, you're right about how industry operates, but wrong about extending SQL.

 

1. The industry has always produced fads that do not address fundamental problems, but rather create problems of their own. XML is just the current one in a long series, and it won't be the last. I predict that several years from now, it will push some other fad which will cure all the problems XML creates. And so it goes.

 

2. To support a tree representation of data means to violate the relational model, which was invented to obviate the need for any other logical structures that add complexity, but no power. For somebody who was involved in IT from the 70's, you should have known that RM was intended to address the problems caused by hierarchic databases and DBMSs, of which XML and XQuery is just a repetition.

 

As long as the industry remains ignorant of data fundamentals and of its own history, it will continue to operate this way which, in the presence of poor knowledge and reasoning by users, is very profitable.

 

 

From: Colin Saxton

 

I can see what you mean from point 2 but why would it be not viable to extend SQL so that it can work with tree/network structures? I cannot see any reason why it cannot. Its original spec was for tabular data and it has performed that very well but there is no reason why it cannot also be extended to work with other more complex structures. That way we keep a Standard Query Language and build upon what we already have instead of fragmenting into other query languages. All the practices that surround SQL are geared towards 3NF and nice tabular structures but we need to start thinking in more broader terms and SQL really should be the starting point for all of this ... Do you not agree that it would fit better with the industry?

 

 

From: Fabian Pascal

 

It's not a question of "cannot", but "why should it".

 

And piling up things into something that was not initially designed for that purpose is something that the industry keeps doing with lots of awful consequences.

 

 

Ed. Comment: Not that SQL is a good language for what it was designed for.

 

 

Posted 11/4/2005