Re: Guessing?

From: Brian Selzer <brian_at_selzer-software.com>
Date: Thu, 19 Jun 2008 21:35:43 -0400
Message-ID: <QPD6k.9141$xZ.1710_at_nlpi070.nbdc.sbc.com>


"paul c" <toledobysea_at_ac.ooyah> wrote in message news:63z6k.38054$gc5.18499_at_pd7urf2no...

> Brian Selzer wrote:
>> "paul c" <toledobysea_at_ac.ooyah> wrote in message 
>> news:etU_j.167881$rd2.59570_at_pd7urf3no...
>>> Brian Selzer wrote:

>>>> "Bob Badour" <bbadour_at_pei.sympatico.ca> wrote in message
>>>> news:483ac46d$0$4069$9a566e8b_at_news.aliant.net...
>>>>> paul c wrote:
>>>>>> Bob Badour wrote:
> ...
>>>>> With POOD, any tuple satisfies the predicate of at most one relation 
>>>>> in the dbms. Thus, with POOD, the dbms can calculate a unique relation 
>>>>> to which to apply any insert, update or delete with the goal of 
>>>>> avoiding anomalous behaviour.
>>>>>

>>>> This just does not make sense. Suppose that a Vendor can also be a
>>>> Customer since they're both Companies, and suppose that Company
>>>> 'Philco' usually supplies 'RG6 connectors,' but occasionally buys them.
>>>> So then if you have two relations,
>>>>

>>>> VendorParts {Company, Part},
>>>>

>>>> CustomerParts {Company, Part},
>>>>

>>>> that enumerate the parts that a company supplies and the parts that a
>>>> company buys respectively,
>>>>

>>>> the tuple, {Company:'Philco', Part:'RG6 connector'}, can obviously
>>>> appear in both relations, so I don't buy the notion 'any tuple
>>>> satisfies the predicate of at most one relation.'
>>>> ...
>>>
>>> Isn't this a straw man too?  (arguing against POOD with an example that 
>>> doesn't follow POOD.)
>>
>> I think it does follow POOD, but I think Badour's overstrict 
>> interpretation of POOD is flawed.
>
> In that case, why don't you state your interpretation (in less than say 50 
> words or so I could hope).

POOD seeks to prevent the occurrance of base relations with overlapping meanings. In a first order language, you have constant symbols and predicate symbols, and under an interpretation, meaning is assigned not only to the constant symbols but also to the predicate symbols. The way I see it, the only way you can have overlapping meanings is if a relation has a disjunctive predicate. For example, if relation R has predicate Pxy and relation S has predicate Pxy \/ Qxy, then there is overlapping meaning between relations R and S because a tuple that satisfies P can appear in both, but if relation T has predicate Qxy, then there isn't any overlap between R and T (assuming, of course, that predicates P and Q are atomic). The idea that there can be only one relation with a particular heading is just stupid, since it would require many relations to have disjunctive predicates. To me it doesn't make sense to have a relation that contains either customer parts or vendor parts or both just because the heading for customer parts is identical to the heading for vendor parts. Received on Fri Jun 20 2008 - 03:35:43 CEST

Original text of this message