Re: Extending my question. Was: The relational model and relational algebra - why did SQL become the industry standard?

From: Bob Badour <bbadour_at_golden.net>
Date: Thu, 13 Mar 2003 22:55:06 -0500
Message-ID: <gScca.20$8u3.1958941_at_mantis.golden.net>


"Lauri Pietarinen" <lauri.pietarinen_at_atbusiness.com> wrote in message news:3E71096F.7030906_at_atbusiness.com...
> Bob,
>
> thanks for your clarifications and I agree with everything you say, esp.
> regarding Hoares article. It has amazing insight and it is superbly
> written.
>
> And thanks for "defending" my analogy GOTO's<--->Duplicates.
>
> One (minor) point though: I believe that NULLs and duplicates did not
> result from a mad rush to get something into the SQL-standard, but
> were very deliberate and conscious design decisions made in the
> mid 70's.

Yes, I know. I believe the person responsible is very proud of the fact, and you know what they say about pride.

Regardless, whether a feature is prematurely introduced to precede a standard's body deadline or prematurely introduced for other reasons, the point is still valid that it will never get removed once introduced. The Principle of Cautious design is extremely important.

> Personally the "set" issue seems to me so clear that I have a hard time
> figuring out how respected DB-scientists can come to other conclusions.

Respected DB-scientists have to deal with more than the logical data model. During physical performance optimization, it is perfectly valid to have items identified solely by location provided of course later steps render the physical position immaterial again.

Respected DB-scientists have to publish to remain respected. And they have to publish novel ideas. Unfortunately, there is plenty of low-hanging fruit for publication in areas lacking a theory based foundation.

Also, the money is in SQL. Always follow the money.

> My theory is that (DB-) scientists don't really understand application
> development of just plain old "stupid" commercial systems, that, after
> all are what databases are mainly (=99%) used for. And everything
> that can be done to automate that environment is worth it's weight
> in gold. The absence of this understanding somehow
> distorts their view and prevents them from seeing the obvious.

The people implementing dbmses are driven by a profit motive. It is perfectly consistent to sell an imperfect product if the customer is willing to pay. As long as customers remain ignorant enough to believe exposing physical pointers will aid "optimization", vendors will give them what they want. If you can sell them on the idea that duplicate removal costs too much, they will pay for duplicates. If you can sell them on the idea that NULL solves the problem of missing information, they will pay for that too.

SQL vendors pay for the research--even the university research. They pay for the marketing. They pay for optimizer development. They pay for the magazine advertising. They define the market for consultants.

The whole industry is as inbred as the securities industry, and the incentives do not fully match users' needs. Even without any corruption, the results are not surprising. Received on Fri Mar 14 2003 - 04:55:06 CET

Original text of this message