Re: problem using identity column as primary key

From: Louis Davidson (dr_dontspamme_sql_at_hotmail.com)
Date: 02/25/04


Date: Wed, 25 Feb 2004 08:53:08 -0600

Amen, with only one caveat:

> Now, does that mean we don't also look for a natural key? No, a natural
key
> is still identified (if it is available) and a Unique constraint is
applied
> to it to enforce that rule.

If you don't have a natural key, you have exactly the thing that Joe
suggests, a record number.

Louis

-- 
----------------------------------------------------------------------------
-----------
Louis Davidson (drsql@hotmail.com)
Compass Technology Management
Pro SQL Server 2000 Database Design
http://www.apress.com/book/bookDisplay.html?bID=266
Note: Please reply to the newsgroups only unless you are
interested in consulting services.  All other replies will be ignored :)
"Bob Boran" <mcsdsmurf@hotmail.com> wrote in message
news:enhTZlv%23DHA.552@TK2MSFTNGP11.phx.gbl...
> You obviously feel very strong about this issue.
> Please lean back on this couch for a minute and lets talk about it.
> Tell me about your days as a young DBA.  Any early tramas that may have
left
> you feeling that artificial primary keys are inadequite?  Let me turn on
> this soft soothing music to help calm your troubled spirit.
>
> There, now that your breathing has returned to normal..
>
> I am not going to pretend that I have spent years getting a masters or
> doctorate in Database Design.  I will even admit up-front that I don't
even
> have a CS degree.   But what I do have is 10 years of experience
designing,
> implementing and maintaining enterprise databases for my clients. (yes, go
> ahead and make your negative remark here, I will even leave space)
> ------------
> This space reserved for Celco
>
>
>
> -----------
> Ok, now that you are done.
>
> My experience has taught me that using an artificial PK in every table is
> the safest, easiest, most maintainable design technique for today's large
> databases.  A nice clean number that requires very little storage space,
> something that can be easily used as a FK without causing potential
> integrity issues when data needs to be update, something that I know is
> unique without having to use 2-10 columns looking for a natural key, and
> most of all consistency in my design model.
> Now, does that mean we don't also look for a natural key?  No, a natural
key
> is still identified (if it is available) and a Unique constraint is
applied
> to it to enforce that rule.
>
> I will stop there in order to keep my post long enough to say what needed
to
> be said, but short enough to be readable.
>
>
>


Relevant Pages

  • Re: problem using identity column as primary key
    ... doctorate in Database Design. ... implementing and maintaining enterprise databases for my clients. ... does that mean we don't also look for a natural key? ... is still identified and a Unique constraint is applied ...
    (microsoft.public.sqlserver.programming)
  • Re: Abbreviation List Tables Design, aka OTLT
    ... of developing software, including database design, but agree that doing ... >> Simon Verona wrote: ... >>> differentiation between large and small lookup lists. ...
    (comp.databases.pick)
  • Re: No, no
    ... >multiple NULLs in such a situation is a sign of bad design. ... I wasn't 100% sure if SQL Server followed ... There is NO practical use for a unique constraint on a nullable ... But I do have enough real-world practice to know that this ...
    (microsoft.public.sqlserver.programming)
  • Re: Sequence
    ... I understand that you're in the design ... If yopu're in the design stage, the first thing to do is to find out what ... When the conceptual model is finished, you can carry it over to the ... table and that row should always be locatable as well by it's natural key. ...
    (microsoft.public.sqlserver.mseq)
  • RE: How to build a successful database for Sales
    ... You are sort of at the general starting point of a database design which is ... Then design a table structure to implement what you clarified / decided. ... Then create 2 links from the junction table record to the other 2 ...
    (microsoft.public.access.tablesdbdesign)