As far as standardized computer languages go SQL is one of the oldest that still remains in constant use today. Maybe it is time for SQL to go the way of the dinosaur? And if it did, what would replace it? Recently, a new method of querying relational databases is being discussed in this article,
Techworld.com - A new approach to querying databases?
The article talks about a new query language entitled "Tutorial D" that promises to do away with the problems inherent in SQL. It exlplains,
In a nutshell, Tutorial D is intended to be a "proper" implementation of a database query language. The idea is that there should be no arbitrary restrictions on the syntax of the query language (Voorhis cites SQL's rather arbitrary habit of allowing nested queries in some places but not others, for instance), but at a lower level the database shouldn't run up against idiotic limitations. The limitation in existing implementations that generates the most comment from the various parties in the debate is the problem with "null" values in relational databases. Put simply, a database field has a type (50 characters, for instance, or a floating point number to two decimal places, or an 8-bit integer), but when you don't fill the field in (i.e. it's "null") it loses all its meaning. Even the ANSI standards state that if a field is null it's said not to exist – so if you ask a database for "all entries where field X is not equal to 47" it won't return any of those where field X is null because instead of saying "Null doesn't equal 47", the value "null" is deemed not to be comparable with any non-null field.
What does it mean for SQL? Well, probably nothing. SQL has really only lasted so long because, even considering it's shortcomings, it has stood the strenuous test of time and growth. However, as with all good things, it's more than likely that SQL's glory days may come to an end and a new language like Tutorial D may take its place.
Try whichever persistence model or wrapper of your choice:
http://zope.org/Documentation/Articles/ZODB1
http://www.hibernate.org/
etc.
SQL won't die, it'll just get buried under more palatable gunk for those who can take the performance hit (which, over time, is everybody).
How do you fix a shitty standard? The Hail Mary play here is to wrap another, ostensibly less shitty standard around it to buy more time...
Posted by: Brian | October 13, 2004 at 12:42 AM