Natural key

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

A natural key (also known as business key[1]) is a type of unique key in a database formed of attributes that exist and are used in the external world outside the database (i.e. in the business domain or domain of discourse).[2] In the relational model of data, a natural key is a candidate key and is therefore a functional determinant for all attributes in a relation. A natural key is sometimes called domain key.[3]

The main advantage of a natural key over a surrogate key (which has no meaning outside the database environment) is that a natural key already exists, so there is no need to add a new, artificial column to the schema. Using a natural key (when one can be identified) also simplifies data quality: It ensures that there can only be one row for a key; this single version of the truth can be verified because the natural key is based on a real-world observation.