Re: OO versus RDB

From: J M Davitt <jdavitt_at_aeneas.net>
Date: Thu, 29 Jun 2006 14:00:58 GMT
Message-ID: <u2Rog.1288$u11.1218_at_tornado.ohiordc.rr.com>


Christian Brunschen wrote:
> In article <04Cog.3422$pu3.83147_at_ursa-nb00s0.nbnet.nb.ca>,
> Bob Badour <bbadour_at_pei.sympatico.ca> wrote:
>

>>Christian Brunschen wrote:
>>
>>
>>>In article <eZxog.3346$pu3.80765_at_ursa-nb00s0.nbnet.nb.ca>,
>>>Bob Badour  <bbadour_at_pei.sympatico.ca> wrote:
>>>
>>>
>>>>Christian Brunschen wrote:
>>>>
>>>>
>>>>>In article <1151501485.755962.108350_at_p79g2000cwp.googlegroups.com>,
>>>>>erk <eric.kaun_at_gmail.com> wrote:
>>>>>
>>>>>
>>>>>>topmind wrote:
>>>>>>
>>>>>>
>>>>>>>[...] (Unlike OO, where encapsulation
>>>>>>>encourages each object/class to reinvent its own
>>>>>>>add/change/delete/cross-reference/search rules and interfaces so that
>>>>>>>they are all different for each project or shop.
>>>>>>
>>>>>>Agreed. I wouldn't have a problem with inconsistencies if the languages
>>>>>>just offered some powerful basic operations. You can't even write
>>>>>>something in Java like this, which would be completely type-safe:
>>>>>>
>>>>>>Set<LineItem> items =
>>>>>>theOrder.lineItems.where(item.status==Status.SHIPPED);
>>>>>
>>>>>Perhaps somewhat interestingly, in a dynamic OO language such as 
>>>>>Smalltalk, Objective-C or Ruby, you can use the technique of Higher-Order 
>>>>>Messaging (HOM), as described in the 2005 OOPLSA paper 
>>>>><www.metaobject.com/papers/Higher_Order_Messaging_OOPSLA_2005.pdf>, to do 
>>>>>something quite similar; in Objective-C syntax something like
>>>>>
>>>>> NSSet *lineItems =
>>>>>   [[[[order lineItems] selectWhere] status] equals:STATUS_SHIPPED];
>>>>
>>>>You have given an example involving only restriction. 
>>>
>>>If I interpret things correctly, this is what is called 'selection' in 
>>>some places (suh as <http://en.wikipedia.org/wiki/Generalized_selection> 
>>>and <http://www.cse.ohio-state.edu/~gurari/course/cse670/cse670Ch4.html>)?
>>
>>Suggesting a synonym for restrict does not answer my question. 

>
>
> This particular paragrah of my response was not intended to answer your
> question, but instead to ensure that I had understood the question
> correctly, in particular because a quick google search for 'relational
> algebra operations' shows in the top five result only one, the fifth, that
> actualy refers to this operation as 'restrict'; the others call it
> 'select'. I just wanted to avoid any possible misunderstandings about the
> terminology in use, also because I am coming mainly from the direction of
> being a pragmatic software developer rather than a deep theorist on any
> particular subject. Please also keep this in mind if my use of terminology
> is imprecise or inaccurate - that will probably be because I have lots of
> things to learn.

For what it's worth:

In at least one case I know of, select and restrict are different: select involves comparison of an attribute to some explicit value while restrict involves comparison of two attribute values.

I asked Chris Date about his; he told me, "There's no difference" and the two terms seem to be interchangeable in virtually all writings.

[snip] Received on Thu Jun 29 2006 - 16:00:58 CEST

Original text of this message