Естественные ключи в базах данных несут в себе внутренний смысл и часто усиливают бизнес-правила на уровне базы данных. 1 Некоторые преимущества естественных ключей:
- обеспечивают целостность данных; 1
- уже существуют, поэтому не требуют дополнительного места на диске; 2
- позволяют сократить количество объединений таблиц, так как столбцы для объединения имеют смысл. 2
Некоторые недостатки естественных ключей:
- могут потребоваться изменения ключа при изменении бизнес-требований; 2
- сложно поддерживать, если ключ требует нескольких столбцов; 2
- ухудшается производительность, так как значение ключа обычно больше и/или состоит из нескольких столбцов. 2
Суррогатные ключи представляют собой искусственные идентификаторы, созданные исключительно для уникальной идентификации записей. 1 Некоторые преимущества суррогатных ключей:
- простые и стабильные, остаются постоянными, даже если другие атрибуты изменяются; 1
- обычно это небольшие целые числа, которые могут повысить производительность; 1
- не разглашают никакой информации о данных, которые они идентифицируют. 1
Некоторые недостатки суррогатных ключей:
- требуют дополнительного места для хранения; 12
- требуют большего количества объединений таблиц с дочерними таблицами, так как данные не имеют смысла самостоятельно; 2
- сложно отличить тестовые данные от производственных. 2
Универсального наилучшего выбора между естественными и суррогатными ключами не существует. 1 У них обоих есть свои конкретные варианты использования и ситуации, в которых их лучше всего использовать. 1