Re: What does this NULL mean?




Eric Junkermann wrote:
> The number of long threads about NULLs indicates that they are a source
> of difficulty and disagreement.
>
> I have been prompted to start yet another by the www.dbdebunk.com quote
> of the week for December 10, 2005 . It says
>
> "There have been, there are, and there
> always will be NULLS in the real world."
>
> and is attributed to "Pete Brown, dbmonster.com",

mountain man, right?

> but it is from a
> comp.databases.theory thread "Does Codd's view of a relational database
> differ from that of Date & Darwin?" on June 4, 2005 .
>
> At the time, I followed up with a request for a definition and examples,
> but I never pursued the answer I got (which I thought less than
> satisfactory). My favourite bit out of the rest of the thread was from
> Ged Byrne, who said
>
> ... If my Manager points to a NULL in a report, I don't say 'That is a
> NULL.' I say something like 'That customer is retired, and does not
> have a work address' or 'The user left that field blank.' That is if I
> am familiar with the data. If I am unfamiliar then the NULL tells me
> nothing, I can only shrug my shoulders and say 'Sorry, I don't know.'
> ...
>
> Finally, this leads to where I want to be with this post:
>
> A NULL does not actually provide enough information to interpret it
> properly, additional knowledge is required.
>
> The best way to look at a NULL is as a sort of denormalisation. If we
> have a table X {A, B, C} where A is the key, B is a column we are not
> currently interested in, and C is the column which is NULL in at least
> one row, then we are really talking about two tables X1 {A, B} and Y {A,
> C}, where at least one row in X1 does not have a corresponding row in Y.

Within relational theory, I think you are exactly right that it is a
normaliztion issue and there is no place for nulls in a fully
normalized model. That is the position I have taken within the context
of relational theory. Outside of the RM (where I prefer to live), I
see it differently.

> (This is like vertical decomposition in
> http://web.onetel.com/~hughdarwen/TheThirdManifesto/Missing-info-without-
> nulls.pdf)
>
> All this situation is telling us is that there is no C value in the
> database for this value of A. It does not matter how many possible
> reasons there are for the existence of this situation (the
> unsatisfactory answer I referred to above), we do not know why there is
> no value. Actually presenting lots of possible reasons was a very bad
> argument because only if there was exactly one reason would we know what
> was going on.
>
> There is no such thing as an acceptable implementation of NULL, because
> each occurrence of a potential NULL in a database design may have many
> possible reasons, each of which must be represented in the database
> somehow. There is no guarantee that there is a single form of
> representation for each of the reasons, and hence no general way of
> implementing a NULL.
>
> So in most cases, the meaning of NULL is "This database has no value
> here, the design must be incomplete"

There are often denomalization decisions in completed designs, so I
don't think you can say the design is incomplete, but that the design
is not fully normlized. Then you still need to understand it as a lack
of data and deal with it that way, I would think. Just because
something is not in BCNF, you do not simply decide the design is
incomplete and have no way of understanding or dealing with it, right?
--dawn

.



Relevant Pages

  • Re: What does this NULL mean?
    ... > always will be NULLS in the real world." ... > comp.databases.theory thread "Does Codd's view of a relational database ... > presenting lots of possible reasons was a very bad argument because only ... management of systems with evolving schema, ...
    (comp.databases.theory)
  • Re: On specialization constraints time of application
    ... Time constraints are not a good excuse for doing poor design since ... using NULLS will crunch time over the entire system lifecycle. ... IS NULL SQL predicates become almost mandatory. ... As far as I am concerned as a daily database practitionner, ...
    (comp.databases.theory)
  • Re: What does this NULL mean?
    ... > The number of long threads about NULLs indicates that they are a source ... I disagree ... > comp.databases.theory thread "Does Codd's view of a relational database ... reasons that are best explained by the database designer. ...
    (comp.databases.theory)
  • Re: 3 value logic. Why is SQL so special?
    ... An ugly hack to workaround the fact that most designers are either too ... with database design. ... where nulls were for some reason disallowed in "physical" tables. ...
    (comp.databases.theory)
  • Re: But a fool with a tool is still a fool
    ... procs. ... scientific and nation wide database systems. ... If you follow the proper paradigm, within the limits of the system's design and intent of course, you will find you need not recompile either the GUI or the database layer. ... I will not state others are doing something *stupid* if they find it within their design paradigm to do so for reasons for which I am not privy and their reasons may be far from religious. ...
    (borland.public.delphi.non-technical)