Re: Object-relational impedence

From: S Perryman <>
Date: Thu, 06 Mar 2008 17:52:59 +0000
Message-ID: <fqpb21$qf1$>

Yagotta B. Kidding wrote:

> S Perryman <> wrote in news:fqp6ip$bje$

>>Yagotta B. Kidding wrote:

YK>Does "the semantics of "joins" are an issue for OO" mean that
YK>relational joins cannot be implemented in principle in an
YK>object-oriented way ?

YK>IMHO most things can be implemented in principle. YK>Efficiency etc is another (important) matter.

>>Thinking out loud ...

>>My unease about joins is that in the ADT/OO sense, for your example
>>etc we effectively create instances of a new type whose properties
>>actually belong to multiple (existing) object instances. Properties
>>that may be realised as computational operations.

>>I feel that prevailing impls of OO are not up to the job of doing the
>>above (although having a consistent Relational infrastructure that
>>apart from joins - works is and is programmed the same way for both
>>ADT-based and "data value only" types/tuples - is something I have
>>long wanted) .

> That was refreshingly honest ! Thank you.

Which is in the main, only opinions. Nothing objectively provable etc.

> However, without joins what is left of the RM ?

The ability to construct arbitrary set/predicate-based expressions to access entities in some given info base is still very valuable, is it not.

> I think that even projections are not very palatable to the OO model.

Projection is covered by type substitutability at the basic level. It is only a problem for specific substitutability models (the Simula model being a case in point) .

>>I similarly feel that Functional programming may have the answers to
>>the problems (the execution engines in particular) .

> There are some (
> ~pgray/graduate_course2004/monad.pdf ) but they have a bunch of their own 
> issues, mainly related to join performance (not surprisingly). But, I 
> agree, FP way may still bear some relational fruits as opposed to the 
> barren OOP tree ;)

 From my undergrad times, the things about FP execution envs that impressed me was the organisation of programs as directed graphs, sharing the same program graphs, lazy evaluation etc. A lot of this looks to me like it may provide some of the performance gains needed for a 'Relational OO' system to perform comparably to your typical SQL engine etc.

But again, merely opinion.

Steven Perryman Received on Thu Mar 06 2008 - 18:52:59 CET

Original text of this message