# Re: NULLs: theoretical problems?

From: Brian Selzer <brian_at_selzer-software.com>

Date: Fri, 10 Aug 2007 09:56:08 GMT

Message-ID: <YCWui.48924$YL5.12774_at_newssvr29.news.prodigy.net>

>> "paul c" <toledobythesea_at_oohay.ac> wrote in message

Date: Fri, 10 Aug 2007 09:56:08 GMT

Message-ID: <YCWui.48924$YL5.12774_at_newssvr29.news.prodigy.net>

"paul c" <toledobythesea_at_oohay.ac> wrote in message news:89Qui.45623$fJ5.26414_at_pd7urf1no...

> David Portas wrote:

>> "paul c" <toledobythesea_at_oohay.ac> wrote in message

*>> news:JXLui.45171$rX4.26997_at_pd7urf2no...**>>> (even though I'm not sure in "s{X} = t{X} implies s{Y} = t{Y}" whether**>>> "implies" stands for logical implication.)**>>>**>>**>>**>> Good catch. It seems that logical implication is not well defined for**>> three-value logic. According to Lex de Haan and Toon Koppelaars' recent**>> book:**>>**>> P | Q | P->Q**>> --------------**>> T | U | U**>> F | U | T**>> U | T | T**>> U | F | U**>> U | U | U or T?**>>**>> So possibly I have to modify what I said about no attribute with nulls**>> satsifying any FD. Although some dependencies may be satisfied it won't**>> be**>> enough for 2NF or anything higher because {K}->{N} is never true where K**>> is**>> a key and N is an attribute which has nulls.**>>**>> The fact that attributes with nulls don't satisfy join dependencies**>> remains very solid and much more obvious.**>>*> > Very good but I must confess that I wasn't thinking that far. I was > merely guessing that logical implication with two truth values would mean > that if s{X} = t{X} were false, s{Y} = t{Y} would be true, which can't > always be the case. Maybe I've got logical implication misconstrued,

You do. ~A \/ B: If ~(s{X} = t{X}) then the implication is true regardless of the truth of s{Y} = t{Y}. Of course if ~(s{Y} = t{Y}), then s{X} = t{X} must be false.

but I might've got as far as you if Alice had said

> something like "whenever s{X} = t{X}, s{Y} = t{Y}". > > pReceived on Fri Aug 10 2007 - 11:56:08 CEST