The Case for the Surrogate Key

By Bill Graziano on 9 August 2002 | Tags: Table Design


There is a simple, inexpensive, uniform element of database design that you are likely avoiding in favor of a complex, costly, and inconsistent one. This element is the surrogate or substitute primary key. It seems that designers avoid these independent keys like the plague. Instead, all but the most basic business entities are given keys made up of some series of attributes, borrowed keys, and sequence numbers . It was only after experiencing many problems at the hand of intelligent keys that I, too, became a believer in the flexibility and stability afforded by the substitute key. This is a pretty good article on when you can use a surrogate key. And I thought we didn't get enough discussion on this from Rob's article.

Link: The Case for the Surrogate Key


Related Articles

Implementing Table Interfaces (19 May 2008)

Implementing Table Inheritance in SQL Server (20 February 2008)

Custom Auto-Generated Sequences with SQL Server (24 April 2007)

Using TABLE Variables (7 June 2002)

More Trees & Hierarchies in SQL (1 May 2002)

Default Constraint Names (24 January 2001)

Temporary Tables (17 January 2001)

Denormalize for Performance (10 January 2001)

Other Recent Forum Posts

Setting Min Server Memory (4d)

average duration increasing inline with exec counts (4d)

UOM parameter (10d)

maintenance job issue after upgrade to mssql 2022 (10d)

Easier/simpler way of importing an SSIS package -- help needed! (11d)

Why am I receiving an error about a column in the select list not being in an aggregate function or in the GROUP BY? (12d)

How to I insert records based on one to many relationship? (13d)

Transfer to new windows 11 computer (21d)

- Advertisement -