Re: Table Design Question

From: Zach Wells (no_zwells_spam_at_ain1.com)
Date: 04/28/04


Date: Wed, 28 Apr 2004 10:59:50 -0400

Anith Sen wrote:

> Zach,
>
>
>>>An email address is a horrible candidate as a primary key. <<
>
>
> There are no universal rules regarding how a specific attribute fits as a
> primary key at the logical level. It exclusively depends on the business
> model (conceptual schema) which is being represented in a database.
>
> The only formal & general considerations for a primary key in relational
> databases are stability, simplicity, familiarity & minimality.
>

You're missing the point I'm trying to make. The whole thread started
over the age-old discussion of using natural primary keys vs using
generic keys. Joe (and I assume others) seem to take the stance that
there is never a reason in a "properly" designed database to need a
generic key. I say there is and as an example I use a VERY common type
of data, a Person. I'm asking the question: What is a good, valid,
natural key for people? Email is not one. It may be in some very
specific cases but it definitely is not a good key in general. Neither
is SSN. I'm claiming that there really isn't a good natural key that you
can use as a primary key when dealing with people and that using a
generic key is not only acceptable, but required.

Zach



Relevant Pages

  • Re: problem using identity column as primary key
    ... >> I am thinking of creating an identity column to use it as primary key ... More and more programmers who have absolutely no database training are ... the gap in the sequence is not filled in and the sequence ... vin CHARNOT NULL REFERENCES Motorpool); ...
    (microsoft.public.sqlserver.programming)
  • Re: should entities in a database be named using singular or plural
    ... It's interesting to compare the rationale for creating a primary key named ... The alternative would be to use a natural key that is part of the data ... or combination of columns that will maintain uniqueness. ... increase I/O demands on the table and its indexes, decreasing database ...
    (comp.databases)
  • Re: Updating the SQL key value
    ... before creating the database, by the time I've come to pick a primary key, ... articles, each of which must be issued under a particular licence (e.g. ... GPL GNU General Public Licence http://www.gnu ... ...
    (comp.lang.php)
  • Re: Concatenate and Null Values -- Features
    ... Tony Toews dislikes cascade deletes as well as cascade updates, ... fence regarding the use of natural versus surrogate (autonumber) keys. ... Database Normalization Tips ... For optimal database design and performance, the primary key of a table ...
    (microsoft.public.access.reports)
  • Re: Option groups, radio buttons and reports...oh my!!
    ... designing a 'questionnaire' database of using separate columns for the ... referencing the primary key of the Questions and Answers table. ... composite primary key of QuestionAnswers. ... a composite one of RespondentID and QuestionID; ...
    (microsoft.public.access.gettingstarted)