Re: Interpretation of Relations

From: David <davidbl_at_iinet.net.au>
Date: 22 Jan 2007 19:23:00 -0800
Message-ID: <1169522580.613537.145760_at_51g2000cwl.googlegroups.com>


JOG wrote:
> David wrote:
> > Can someone outline a realistic example where we are forced to deal
> > with missing information, and the approach of only storing the
> > relations we know to be true using 6NF gets us into trouble?
>
> Hi David. My example was in 6NF, and I believe it generates a
> contradiction when missing information cropped up. However, if you
> think it is missing a trick somewhere then isolating that would
> obviously be very useful.

I assume you mean your example where you derived a contradiction with the relations R_Joes_Hair and R_Not_Joes_Hair.

When I asked for a realistic example, my intention was that you would limit yourself to relations that state that underlying relationships amongst entities exist (not the negation of exists).

> > The relational algebra allows us to deduce new facts from existing
> > facts. If you have less existing facts (ie that you know to be true)
> > then the only problem is that there is less you can deduce.
>
> Splitting off nullable attributes at least accords to relational
> theory, so I employ 6NF in my schema, especially now I have decent OR
> tools. However I'm sure you know that even with 6NF, whence I can omit
> the nulls that might have occured in the denomarlized form, I am
> probably not stating the full extent of the information I had (whether
> info is absent because it is missing or not). CWA infers that if I do
> not state anything, then the projected attribute was inapplicable, when
> it was perhaps applicable and missing, or perhaps its applicability was
> unknown altogether.

Yes, but that doesn't cause any improper deductions by the RA. It lets you deduce what you can despite limited knowledge - nothing more, nothing less.

> Obviously this information has an impact with
> queries aggregating over the relevant attributes.

Yes, aggregation is a problem when you have missing information. Isn't that inevitable? It hardly seems reason to throw out the RA "logic system" which transforms relations correctly despite missing information.

> Darwen suggests a
> solution that includes extra relations to denote these facts (as does
> the transrelational model I believe, which I suspect tries to correlate
> all these facts to facilitate less convoluted queries), but I currently
> find something about this mechanism logically unsatisfying - without
> being able to explain exactly why yet.

Consider that you split the knowledge of what relationships definitely exists versus those that definitely don't at the highest possible level. ie you have one set of relations (let's call it the +DB) to state what relationships exists. Another independent set of relations (called the -DB) with the same schema states what relationships are known not to exist. Each independently has its own CWA, and independently utilises the full power of the RA.

Unfortunately within the -DB things don't work as expected. You would think that within the -DB you can join relations to infer additional relationships that don't exist. However, this doesn't appear useful. If you know Bill doesn't own car1 and car1 is not yellow then you can't deduce that Bill doesn't own a yellow car. The join only tells you that it is not the case that (Bill owns car1) /\ (car1 is yellow) - so by De Morgan you've actually established a *disjunction*. Therefore joining on Car then projecting away Car doesn't behave usefully.

In any case how can the -DB be used to help do aggregations? Received on Tue Jan 23 2007 - 04:23:00 CET

Original text of this message