Re: Principle of Orthogonal Design
Date: Sat, 02 Feb 2008 22:53:16 GMT
Message-ID: <wv6pj.5514$Ch6.831_at_newssvr11.news.prodigy.net>
"Brian Selzer" <brian_at_selzer-software.com> wrote in message
news:de0pj.1810$xq2.1777_at_newssvr21.news.prodigy.net...
>
> "Jan Hidders" <hidders_at_gmail.com> wrote in message
> news:febcf846-2d53-4979-af65-573b373ef6e9_at_l1g2000hsa.googlegroups.com...
> On 29 jan, 19:24, "Brian Selzer" <br..._at_selzer-software.com> wrote:
>
> [huge snip]
>
>> > Or are you saying
>> > that there must always be an inclusion dependency of one sort or
>> > another for
>> > there to be a POOD violation?
>>
>> Yes, I am. You can verify this in the definition of the POOD rule I
>> already presented to you.
>>
>> -- Jan Hidders
>
> There is something about this that just doesn't seem right to me.
>
> Suppose you have two second order predicates, p and q, such that
>
> p(s(A, B), C) \/ q(s(A, B), D),
>
> represented by database schema with relations
>
> P {A, B, C}
> KEY {A}, and
>
> Q {A, B, D}
> KEY {A}.
>
> Wouldn't there be meaning overlap between relations with those predicates
> regardless of whether there is an inclusion dependency?
>
> Suppose that the FD A --> B on both P and Q is due to the predicate, s.
> Wouldn't that require that whenever there is a value for A that appears in
> both a tuple in P and a tuple in Q, the value for B in each of those
> tuples must also be identical?
>
> This is not an example of dependency-induced overlap, since there is no
> stated dependency between P and Q, but in my opinion it is clearly a POOD
> violation.
>
>
>
I think the same could be said using first order predicates. For example,
s(A, B) /\ p(A, C) \/ s(A, B) /\ q(A, D)
represented by the schemata,
P {A, B, C}
KEY {A}, and
Q {A, B, D}
KEY {A}
