Re: Newbie question about db normalization theory: redundant keys OK?

From: Ross Presser <rpresser_at_gmail.com>
Date: Fri, 14 Dec 2007 10:01:32 -0800 (PST)
Message-ID: <bccd59f7-dc1c-4fd8-bf7b-f506e250812f_at_d27g2000prf.googlegroups.com>


On Dec 14, 12:51 pm, "Tony Rogerson" <tonyroger..._at_torver.net> wrote:

> create table blah (
> emiladdress varchar(?) not null unique,
> who varchar(100) not null
> )
>
> In the year 2006 I have an email address called
> tonyroger..._at_sqlserver.eu.com everybody sends email to that address.
>
> insert blah values( 'tonyroger..._at_sqlserver.eu.com' )
>
> On 1st Jan 2007 I change the email address to tonyroger..._at_torver.net I
> suddenly stop receiving emails because everybody is still emailing
> tonyroger..._at_sqlserver.eu.com.
>
> update blah set emailaddress = 'tonyroger..._at_torver.net' where emailaddress
> = 'tonyroger..._at_sqlserver.eu.com'
>
> How do all the applications disconnected from the database now reach the
> record? They can't - the natural key has changed.

There are two ways I would answer this. The first says that email address isn't a natural key -- it doesn't uniquely define a person any more than hair color does. The second is that the natural key hasn't changed, the entity -- a mailbox on a mail server -- has changed. Received on Fri Dec 14 2007 - 19:01:32 CET

Original text of this message