dataarchitect.studio

Glossary

Surrogate Key

A surrogate key is a meaningless, system-generated identifier — an integer sequence or hash — used as the primary key of a dimension table in place of the source system’s own identifier (the natural key).

Surrogates exist because source keys can’t be trusted with history: they get recycled, change format, collide across systems, and can’t represent multiple versions of the same entity. A surrogate key decouples the warehouse from all of that — most importantly, it’s what allows a Type 2 slowly changing dimension to hold several rows for one customer, each version with its own key, so facts join to the version that was true when the fact happened.

Go deeper: Surrogate Keys vs Natural Keys: A Practical Rule