Re: What databases have taught me
Date: Fri, 23 Jun 2006 16:31:02 +0200
>>May I ask 2 questions here ? >>1/ >>2/ >>3/
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.
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 ?
>>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 ?
('menu1', NULL) ('menu1.1', 'menu1') ('menu1.2', 'menu1') ('menu1.2.1', 'menu1.2') ('menu2', NULL) ('menu2.1', 'menu2')
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