On Fri, June 9, 2006 11:45 am, David Fetter wrote:
> On Fri, Jun 09, 2006 at 05:20:46PM +0200, Martijn van Oosterhout wrote:
>
>> On Fri, Jun 09, 2006 at 07:09:12AM -0400, Agent M wrote:
>>
>>> Well, the Date argument against NULLs (and he never endorsed them,
>>> or so he claims) is that they are not data- they represent the absence
>>> of data- so why put non-data in a _data_base.
>>
>> At this point you could start a whole philosophical discussion about
>> whether knowing you don't know something is a fact worth storing.
>
> And to me, the answer is an unqualified "yes." A state of ignorance
> is an important piece of information by itself.
>
> For example, that I don't know someone's birthdate is important. When
> I'm trying to figure out when to send a birthday card, knowing that I
> don't know this piece of information means that I take a different action
> "decide whether to try to find out what the birthdate is." from
> the action I would take if I didn't know that I don't know the birthdate,
> which is "rummage through all my records trying to find the birthdate."
So you should normalize and add relations to represent the state
adequately. NULL doesn't give you enough information anyway- does NULL in
a birthday header mean "no birthday", "n/a" (a business doesn't have a
birthday), "not born yet", etc... Using real data, you can represent any
of these states.