Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Is the use of VARCHAR(256) as Primary Keys preferred in Oracle?

Re: Is the use of VARCHAR(256) as Primary Keys preferred in Oracle?

From: Sybrand Bakker <gooiditweg_at_sybrandb.demon.nl>
Date: Mon, 18 Nov 2002 18:32:05 +0100
Message-ID: <co8itu89q9o13i7gne3dodrkao8hl2cu6j@4ax.com>


On Mon, 18 Nov 2002 07:35:59 -0800, Jim <no-spam_at_no-spam.org> wrote:

>I confess I don't understand the preference for the use of a surrogate
>key instead of a natural key except in special cases.
>
>I can see that a surrogate, "artificial" key would have some value IF
>all "natural" columns in a table must be updatable, IF no 'natural'
>column, or reasonable combination of 'natural' columns, would be
>unique, and IF all updating of the table would be perfomed by
>application programs able to deal with the essentially meaningless
>surrogate key.
>
>On the other hand, use of a 'natural' key composed of column(s)
>understood and meaningful to the user would, it seems to me, yield a
>more straightforward, easier for the user to understand design.
>
>Am I missing something (probably)?
>
>

The meaning of such a natural key tends to evolve over time, especially when users didn't specify their requirements correctly during the initial design phase. Quite often you end up with adding extra (quite often meaningless ordinal ) columns to those key, and inevitably all those columns would have to be replicated to any other tables referring to them.
This results in designs with primary keys composed of up to 4 or 5 columns, do you still think that is 'meaningful'? It definitely hampers performance, so one should better use surrogate keys from the start.

Regards

Sybrand Bakker, Senior Oracle DBA

To reply remove -verwijderdit from my e-mail address Received on Mon Nov 18 2002 - 11:32:05 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US