Re: Principle of Orthogonal Design

From: Brian Selzer <brian_at_selzer-software.com>
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} In both cases, the FD A --> B on both P and Q is due to the predicate, s. Received on Sat Feb 02 2008 - 23:53:16 CET

Original text of this message