Re: My 10 Commandments of Database Administration...

  • From: Mark Richard <mrichard@xxxxxxxxxxxxxxxxx>
  • To: nsouto@xxxxxxxxxxxxxx
  • Date: Thu, 23 Sep 2004 13:46:02 +1000


If you don't mind me asking...

What value do you use to imply "this record does not have an end date yet -
it is current".  Do you insist on an additional attribute?  Use a
particularly large date?  I would have thought that from a design point of
view a NULL end date would mean "we have no idea when this record will be
end dated" and my main reason in the past for avoiding this related to
indexing (rightly, or wrongly - let's not enter that debate right now).

I guess a lot of people have the idea that a record which has started to be
effective, but has not ended (and has no planned end date) is best
described by leaving end date null since the record has no known end date.
I'm genuinely interested to hear your opinion on this because it's a
discussion I've entered on more than one occaision?


                      "Nuno Pinto do                                            
                      Souto"                    To:       
                      <nsouto@xxxxxxxxxx        cc:                             
            >                     Subject:  Re: My 10 
Commandments of Database Administration...                         
                      Sent by:                                                  
                      23/09/2004 10:40                                          
                      Please respond to                                         

Quoting from AUTHOR ryan gaffuri:
> 11. Thou shalt feed me if I have to work late to fix something you
> broke.
> I'm a single guy...

Nuno's design corollary #1:

Thou shall not use end_date = NULL to mean "current row" of ANYTHING!
NULL has NO MEANING whatsoever: it does NOT mean "current"!

Under penalty of having to cook for Nuno (and I'm a heavy bloke)...


Privileged/Confidential information may be contained in this message.
If you are not the addressee indicated in this message (or responsible for 
delivery of the message to such person), you may not copy or deliver this 
message to anyone.
In such a case, you should destroy this message and kindly notify the sender by 
reply e-mail or by telephone on (03) 9612-6999 or (61) 3 9612-6999.
Please advise immediately if you or your employer does not consent to Internet 
e-mail for messages of this kind.
Opinions, conclusions and other information in this message that do not relate 
to the official business of Transurban Infrastructure Developments Limited and 
CityLink Melbourne Limited shall be understood as neither given nor endorsed by 


Other related posts: