RDBMS Data Modeling - Primary key

> (Data|State) Management and Processing > Data Modeling (RDBMS or Code)

1 - About

A Primary Key identify:

  • the lowest level of an entity
  • the unique identifier of a single instance
  • doesn't change over time. If the primary key has a chance – however remote – of changing, well, then it is NOT the primary key. This would be like you changing your DNA halfway through your life.

See also: Data Modeling - Identifier - (Id|Primary|Natural|Surrogate|Business) key


3 - Sequence vs business key as primary key

Sequence as primary key

3.1 - Disadvantage

  • You can't search on the business key in an external table.
  • You need to do an extra action to get the primary key (join in SQL or show the information on the screen)

3.2 - Advantages

  • Gain on IO in the internal table but also in the external table
  • If the grain of a (external|dimension) table changes, you don't need to add a column in the fact table
data/modeling/primary_key.txt · Last modified: 2017/09/13 21:21 by gerardnico