Re: So what's null then if it's not nothing?

From: Jon Heggland <heggland_at_idi.ntnu.no>
Date: Tue, 6 Dec 2005 09:34:23 +0100
Message-ID: <MPG.1dff6b69d874006798972a_at_news.ntnu.no>


In article <1133796513.475408.73030_at_g49g2000cwa.googlegroups.com>, boston103_at_hotmail.com says...
>
> > What do you call the domain { TRUE, UNKNOWN, FALSE }? And by the way,
> > haven't you argued for ages that names don't matter?
>
> Names do not matter, but the number of logical constants does. If
> it's more than two, then the logic is most certainly not Boolean.

You are quibbling. Substitute whatever name you prefer for the domain { TRUE, UNKNOWN, FALSE }.
> > What is the type/domain of the expression following the keyword WHERE in
> > SQL?
> Clearly, the the expression is a 3VL formula as defined by the
> standard.

You are still quibbling. I asked about the data type.

> > Why should we be prohibited from storing values of this type/domain
> > in the database?
>
> We should not be prohibited, and the SQL'99 standard has the Boolean
> data type. I do not remember if the standard allows NULL for the data
> type. If it does, the data type name is a misnomer.

Like "integer" is a misnomer, since integer attributes can be NULL?

> Also, the Boolean type usefulness for storing data in the database is
> arguably greatly exaggerated. Firstly, it can easily be modelled by
> just about any other already available data type

You can model numbers using strings, too. This is not a very good argument.

> > And if we did have a Boolean { TRUE, FALSE } domain in SQL, shouldn't we
> > be able to assign NULL to an attribute of that type?
>
> If we assign NULL to the attribute of the Boolean type, it ain't
> Boolean no more.

And if we assign NULL to an integer attribute, it ain't integer no more?

-- 
Jon
Received on Tue Dec 06 2005 - 09:34:23 CET

Original text of this message