# Re: Guessing?

From: paul c <toledobysea_at_ac.ooyah>
Date: Fri, 20 Jun 2008 02:07:21 GMT
Message-ID: <thE6k.17347\$Jx.12051@pd7urf1no>

Brian Selzer wrote:
> "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.

Okay, even though "overlapping" might be a bit vague, that's much less than 50 words ;)

> ... 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. ...

Not sure if that's so, but willing to assume it is for now. It reminds me that I have doubts about whether any relation should be allowed to disjunctions within individual propositions, at least if we want 'interchangeability'. For example, a base relvar that has been inserted to with "union" certainly doesn't have a disjunctive predicate so why should a view that is manifested the same way be different? The only time I can see where a view should preserve the disjunction is when it concerns relations that aren't so-called 'union-compatible'.

> ... 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.

Personally, I would like to avoid disjunctive predicates entirely but for a different reason, as I suggested above. Received on Thu Jun 19 2008 - 21:07:21 CDT

Original text of this message