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

From: vc <boston103_at_hotmail.com>
Date: 6 Dec 2005 10:34:06 -0800
Message-ID: <1133894046.516473.27860_at_f14g2000cwb.googlegroups.com>


Jon Heggland wrote:
> 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.

I beg your pardon ? The number of logical constants, not thir names, is what distinguishes propositional logic from various multivalued logics, including various breeds of 3VLs.

>Substitute whatever name you prefer for the domain {
> TRUE, UNKNOWN, FALSE }.
Sorry, the above does not make any sense.

>
> > > 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.

I told you already that the data type is the set (T,F,U} with its associated operations. What's not clear about that ?

>
> > > 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?

It surely is, but not to such a degree as with the logic.

>
> > 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.

You provided *none* why one needs an explicit Boolean or a 3VL data type. Please oblige.

>
> > > 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?

Of course not.

> --
> Jon
Received on Tue Dec 06 2005 - 19:34:06 CET

Original text of this message