Re: What databases have taught me

From: Erwin <e.smout_at_myonline.be>
Date: 23 Jun 2006 07:56:04 -0700
Message-ID: <1151074564.700824.142260_at_g10g2000cwb.googlegroups.com>


> oh, really ? Could you please elaborate about what you mean when
> asserting that Smalltalk is "a thousand times more strictly
> hierarchical" than Java etc ? I fail to understand about which
> hierarchies you're talking about here - class hierarchy or runtime
> associations between objects ?

I presume it must be "class hierarchies" because I fail to grasp what is meant precisely by "runtime associations between objects".

> > Hmmmmmm. Is it really the *algebra* you think is crippled ?
> AFAICT, yes. At least what I learned as being "algèbre relationnelle".
> > What kind
> > of operation do you think is unsupported by the algebra ?
> I don't know how this translates in english, the french term is
> "fermeture transitive d'un graphe". IOW, if I have (minimal example):

That was exactly the answer I was expecting, and indeed you betray your ignorance. The English term is "transitive closure", and the operator has, bel et bien, been part of the *algebra* since I don't know when.

> AFAIK, when you put this into a RDBMS, you need additional code - either
> in "procedural SQL" or in the client app - to deal with this.

Yes, but SQL DBMSs are not R DBMSs. The lack of a closure operator *IN SQL* should not be interpreted as a shortcoming of *the relational model*, nor as one of the relational algebra. Doing so is, as Chris Date puts it, criticizing the relational model for never having been implemented properly.

> I'd really like to know how to handle this cleanly and
> efficiently with a RDBMS without using stored procedures...

Well, as I pointed out, in a *true* RDBMS, just invoke the closure operator over your binary relation (that records the links between the nodes). In an SQL DBMS, roll your own operator. So your criticism of "not being able to handle hierarchies", is really a criticism of SQL, not one of the relational algebra. Received on Fri Jun 23 2006 - 16:56:04 CEST

Original text of this message