Что такое суррогатный, естественный и бизнес ключ?

Не нашёл информации по этому поводу, тем более русскоязычной.

Что такое бизнес-ключ, если рассматривать его в контексте СУРБД? Я правильно понимаю, что бизнес-ключ, это какая-то реальная информация о сущности, с помощью которой её можно идентифицировать? То есть, например, e-mail или номер телефона будет бизнес-ключом для человека? И обязательно ли бизнес-ключ должен быть уникальным?

Чем также являются суррогатные и естественные ключи, и к чему из них относится бизнес-ключ?


Ответы (1 шт):

Автор решения: Akina

Бизнес-ключ, он же естественный ключ - это индекс, который определяет уникальность строки на основе комбинации значений столбцов, которые естественным образом существуют в таблице в соответствии с бизнес-правилами.

Суррогатный, он же синтетический, ключ - это индекс, который определяет уникальность строки на основе столбца, значение которого предоставляется самостоятельным, независимым, никак не связанным с бизнес-правилами, генератором, гарантирующим уникальность предоставляемого значения в пределах времени жизни таблицы.

PS. В реальных условиях свойство уникальности ключа не гарантируется вследствие ограничений, налагаемых на тип данных, и соответственно ограниченного количества возможных значений ключа. Однако на практике достаточно практической недостижимости предела количества значений.

→ Ссылка