Re: So what's null then if it's not nothing?
Date: 17 Nov 2005 16:24:42 -0800
Message-ID: <1132273481.993665.49210_at_g43g2000cwa.googlegroups.com>
[snip]
>
> frosty suggested:
> >> As a Pickie, I look at it like this:
> >> It's spelled "null" but it's
> >> pronounced "undefined." HTH.
>
[snip]
> Mike replied:
> > Poor
> > fools. Poor deluded fools. The sooner SQL-relational is seen for what
> > it is - ridiculous - the better.
> >
> > Mike.
> >
> > PS. Strong enough you reckon?
>
> Quite. (grins) You're a braver man than I! I don't think SQL should
> be called ridiculous (just) because it uses an unfortunate name ("null")
> to label something that we think of as "undefined." And, even though
> my example might not ring true, I don't think those seeking to
> distinguish empty values from unknown values are fools. I'll probably
> get flamed for my ignorance of SQL and 5NF; hate to imagine what they're
> gonna have to say about you, now. =`;^> Cheers.
>
Well - it now occurs to me that the SQL NULL is pretty similar to an unassigned() variable in PickBasic. The difference is that you can't get an unassigned variable from disk. As soon as something is written to disk in Pick it, and everything in it, has a value - even though some or all of its values might be empty strings. There is no such thing, in Pick, as a negative-length-field. Just as much can be "unknown" in a Pick database as any other. If the user has a form to fill out and they choose to skip some fields, then in a Pick context those fields are stored as empty strings. Sure - they might be "unknown" in that the user skipped the fields because she/he didn't know how to fill them in correctly - but they will be stored on the database in exactly the same way they appeared on the form - empty. There is the more interesting case where a select-box might have appeared with "Please select" displayed and yet the user didn't. Perhaps it is wrong to store an empty string in this case. Perhaps we should store something to indicate that we don't know what the value should be. Perhaps SQL's null is valid after all. It's not null as I know it though. It's unknown. I'd store something like "No selection" I suppose. Again - it'd be a value to represent an unknown value. That's not null - in my book. Look at the dictionary. Can these guys making up the SQL-relational rules be allowed to go on distorting things to suit as they go? They should use the word null for nothing - as it should be. Null's nothing. We know that. What we don't know is something else entirely.
Mike. Received on Fri Nov 18 2005 - 01:24:42 CET