Вопрос по ключам MSSQL

Рейтинг: 0Ответов: 1Опубликовано: 16.03.2015

Добрый день.

(На сие размышление меня натолкнула статья http://habrahabr.ru/post/107834/)

Мои выводы, в том числе:

Автоинкр. первичный ключ = суррогатный ключ,

если не создали первичный ключ, то СУБД сама создаст естественный ключ.

Может, я не понял чего, поправьте, пожалуйста. Заранее спасибо. Не пойму природу суррогатных и естественных ключей, пытаюсь разобраться.

Ответы

▲ 1Принят

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