Re: Parts explosion with repeated subtrees

From: Costin Cozianu <ccozianu_at_netzero.net>
Date: Wed, 18 Dec 2002 07:31:28 -0800
Message-ID: <atq4a7$1laju$1_at_ID-152540.news.dfncis.de>


> Sorry, but a few decades of writing and working with standards makes
> me a bit complusive. Now, another human being can read and use your
> code to test things in any Standard SQL!!
>
> Having done that work, this is an Adjacency model and it has the same
> problem my nested set model does. Namely, 'Béarnaise sauce' and
> 'Hollandaise sauce' explosions have to be repeated in EVERY recipe.
> In your model, they will get various level numbers, in mine, they get
> various (lft,rgt) pairs.

So here you have it: the "Standard SQL" you seem so proud of is useless for a very basic and common task. If I understand you correctly WITH RECURSIVE will not work decently for anything but trees.

Would you be willing to shortly present here the semantics of WITH RECURSIVE ? My understanding of it (and I'm sorry that I can't really spend time and money on the standard ) is that it adds successive generations (levels) of bags of rows, until no longer possible (for example in case of trees ) or until the equivalent of Stack Overflow Error happens.

If this is how it is, the solution is to either drop the standard as unusable and technically inadequate, or to suggest to the honourable committee that an excursion in time back to Dr. Codd's papers would be more than adequate.

After we get back the relational database ideas that have been hijacked and perverted by the "standard", as to the point where it makes users life miserable, we will humbly look upon the SQL standard as nothing but a nuissance that has to be circumvented in order to engineer solid information systems, and a pretext for Joe Celko to boast about the usefulness of standards.

SQL is a false standard, it always has been. It's been implemented only fractionally and SQL 92 has still yet to be implemented so people would better focus very carefully on their product SQL reference and not on the SQL standard. I could understand a call for standards if the SQL standard was some ideal to dream for, and we could only blame the vendors for failing to live up to the dream. The problem is that now most students learns at Databases 101 how SQL is broken. Which brings up to the only de facto standard there is for relational databases: Dr. Codd's relational algebra and relational calculus.

We're all for standards, but not at all costs. The costs of SQL standardization seems to begin to outweigh the benefits. Like for example users will have to spend money and trees will need to be cut for Joe Celko's book on ... trees. I imagine you'll later want to write a follow-up on directed acyclic graphs.

Going back to the problem at hand, it would be a much better use of everybody's time and a much better use of the "lungs of the planet", if Joe Celko's would write up a nice letter to the SQL committee explaining that the set-oriented transitive closure is an *absolutely essential* feature for database users, that with all his knowledge of SQL he can't solve trivial problem.And a standard that doesn't meet the needs of its users becomes slowly but surely irrelevant.

Costin Received on Wed Dec 18 2002 - 16:31:28 CET

Original text of this message