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

To query just ID from a table to multiple table with query containing left outer join, subquery, Max, Inner Join (1d)

Compose WHERE from comma separated values string (2d)

Returning data from table based on date ranges (2d)

Assigning result set from sql statement takes over 60secs (2d)

UnPivot, CrossApply (3d)

Indexing in a Merge Replication environment (4d)

OR condition is not working in where clause of LINQ query (4d)

Add day name to date field (4d)

- Advertisement -