Re: Proposal: 6NF
Date: Sat, 14 Oct 2006 23:28:06 +0200
Message-ID: <gtk2j25h9fp9b792g6m9ktqidu6ks5fdm5_at_4ax.com>
On Sat, 14 Oct 2006 18:32:44 GMT, David Cressey wrote:
>"Hugo Kornelis" <hugo_at_perFact.REMOVETHIS.info.INVALID> wrote in message
Hi David,
Okay, that's clear. AFAICT, this is a systematic way to treat missing
data. Just as SQL's UNKNOWN is a systematic approach of said problem.
Neither of them is free flom flaws, though - but to be honest, I doubt
if it's even possible to define a flawless way to handle missing data,
because the best way to handle missing data varies on a case by case
basis.
>news:0n10j2dk19fibufr8agj3ah5qee6rpm444_at_4ax.com...
>> On Fri, 13 Oct 2006 04:17:48 GMT, David Cressey wrote:
(snip)
>> >Get rid of the Boolean value UNKNOWN.
>> >Evaluate booleans that can be evaluated to either TRUE or FALSE. If a
>> >Boolean expression cannot be evaluated, don't return any value at all.
>> >If there's no trapping mechanism, then return NULL, indicating that the
>> >expression has no value.
>>
>> Hi David,
>>
>> Would NULL as a result from a boolean expression differ only in name
>> from the current UNKNOWN, or would it actually behave differently? For
>> example, what would the result be of the boolean expression:
>> (1 > 2) AND (3 = NULL) AND (4 < 5)
>> or, shorter,
>> TRUE AND NULL AND FALSE
>>
>
>It's a good question, but I don't have a good answer.
>My guess is that TRUE AND NULL AND FALSE would have to yield NULL. NULL
>isn't "TRUE or FALSE but we don't know which". It's the absence of a value.
Personally, I prefer UNKNOWN over NULL as third value in 3VL. If only because the answers more often match my "common snese" answers. As an example, suppose someone would say: "Anyone raise their hand if one of the following is true: Seven is less than eight, David Cressey has ever posted to cdt, Mrs Smith from 17th Avenue, NY has had bacon and eggs for breakfast today". I would raise my hand because FALSE OR TRUE OR UNKNOWN evaluates to TRUE. You would keep it down because FALSE OR TRUE OR NULL evaluates to NULL.
Best, Hugo Received on Sat Oct 14 2006 - 23:28:06 CEST
