Преимущества использования естественных ключей в базах данных:
- Экономия дискового пространства. 1 Естественный ключ — это атрибут, связанный с бизнесом или реальным миром, поэтому в большинстве случаев он уже хранится в таблице. 1
- Упрощение контроля качества данных. 1 Использование естественного ключа, уникального в реальном мире, гарантирует, что не может быть нескольких записей с одним и тем же первичным ключом. 1
- Возможность получить более компактную форму таблиц. 4 Естественные ключи позволяют избежать избыточной (неинформативной) информации, которая используется только для связи между таблицами базы данных. 2
Некоторые недостатки использования естественных ключей:
- Затруднения при изменчивости предметной области. 4 Значение атрибутов первичного ключа не должно изменяться. 4 Это требование ставится в основном для поддержания целостности базы данных. 4
- Снижение быстродействия системы. 4 Как правило, уникальные естественные ключи являются составными и содержат строковые атрибуты. 4 Максимальная скорость выполнения операций над данными обеспечивается при использовании простых целочисленных ключей. 4
- Сложности с поиском естественного ключа. 3 Например, сложно найти естественный ключ для таких сущностей, как «Человек» или «Адрес». 3
- Возможное усложнение программного кода. 3 Естественный ключ может оказаться громоздким, что вызывает снижение производительности системы и усложнение программного кода, особенно при миграции такого ключа в качестве внешнего во многие другие таблицы. 3