Re: Does Codd's view of a relational database differ from that ofDate&Darwin?[M.Gittens]

From: Jan Hidders <>
Date: Thu, 09 Jun 2005 22:03:39 GMT
Message-ID: <%03qe.115374$>

Marshall Spight wrote:

>>What would you like to achieve with the algebra?

> Hmmm. What I get from your post is that I really already
> know what I need to know.

Quite possible.

> Most any modest set of operations
> will suffice, and everything else can be written in those terms.
> (get/set/size/insert/delete/concat is more than complete.)

Indeed. Assuming you have recursion then car, cdr, cons and cond plus a few domain operations should be enough for everything.

>>Note that the point of
>>algebras, including the relational algebra, is usually not their
>>expressive power, we have programming languages for that.

> Wow, I don't think I agree with that. I'd rather write joins and
> projects and restricts than have to write Java code for doing
> the same.

I suspect that's because the abstraction level is higher and it is more declarative. But you could have that also if you used a functional programming language. I would claim that whether or not it is an algebra is not really that important. But perhaps your definition of algebra includes such programming languages.

> I guess I'm just nervous that I'm missing some clever
> formalism which will change my outlook on lists,
> which I'm beginning to get clear that I'm not.

Query optimization in a list-based setting is much much harder than in a set-based setting. If you were wondering about whether there is a list-algebra that makes optimization for lists as easy as for sets then I would say (with some authority, I've done research on both) that the answer is currently no. Could that change? Very good question. :-)

  • Jan Hidders
Received on Fri Jun 10 2005 - 00:03:39 CEST

Original text of this message