Re: What databases have taught me
Date: Fri, 23 Jun 2006 16:31:02 +0200
Message-ID: <449bfb26$0$299$626a54ce_at_news.free.fr>
Erwin wrote:
>>May I ask 2 questions here ? >>1/ >>2/ >>3/
>
>
> :-))))))
>
oops :(
There are 3 kind of people: those who know how to count, and the others. Seems like I'm in the 3rd part !-)
>>OO is not restricted to Java and C++.
>
>
> There's always SmallTalk, of course.
And Python, Ruby, CLOS, OCaml and objective-C...
> Maybe you disagree, but I've
> heard more than one self-proclaimed OO-purist declare SmallTalk to be
> the only *true* OO language. And that alledgedly "one and only true OO
> language" is, to the best of my knowledge, a thousand times more
> strictly hierarchical than Java or C-with-any-suffix.
>
>>Going over the board with genericity >>in prevision of changes that are barely previsible is an easy mistake.
>
> Hear hear.
>
>>Hmmm... The fact is that we *also* have to deal with hierarchical data >>structures, and relational algebra does not really shine here.
>
>
> 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):
('menu1', NULL) ('menu1.1', 'menu1') ('menu1.2', 'menu1') ('menu1.2.1', 'menu1.2') ('menu2', NULL) ('menu2.1', 'menu2')
# etc...
How can I select menu1 and all it's childrens in a single operation ? How can I select the 'root' for menu1.2.1 (which is 'menu1') in a single operation ?
NB : please understand this is not intended to demonstrate the superiority of OO over RM (I just don't give a damn about this kind of religion wars)- I'd really like to know how to handle this cleanly and efficiently with a RDBMS without using stored procedures...
-- bruno desthuilliers python -c "print '_at_'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in 'onurb_at_xiludom.gro'.split('@')])"Received on Fri Jun 23 2006 - 16:31:02 CEST