Hacker News new | ask | show | jobs
by prodigal_erik 6076 days ago
Surrogate keys are very common in real-world relational databases. If an order has a CUSTOMER_ID which was generated mechanically, appears in exactly one tuple of the CUSTOMERS relation, and has no other assigned meaning, isn't it just a pointer to that tuple?
1 comments

What you describe is a pointer, but not a surrogate key.

http://en.wikipedia.org/wiki/Surrogate_key

"For example, table Staff may contain two rows for "John Smith", one row when he was employed between 1990 and 1999, another row when he was employed between 2001 and 2006. The surrogate key is identical (non-unique) in both rows however the primary key will be unique."