# 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 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}".
>
> p
```
Received on Fri Aug 10 2007 - 11:56:08 CEST

Original text of this message