Должен ли я иметь специальное поле первичного ключа? - PullRequest
18 голосов
/ 03 октября 2008

Я проектирую небольшую базу данных SQL для использования веб-приложением.

Допустим, у конкретной таблицы есть поле Имя, для которого не допускается, чтобы две строки имели одинаковое значение. Тем не менее, пользователи смогут изменить поле Имя в любое время.

Первичный ключ из этой таблицы будет использоваться в качестве внешнего ключа в других таблицах. Поэтому, если поле «Имя» используется в качестве первичного ключа, любые изменения необходимо будет распространить на эти другие таблицы. С другой стороны, требование уникальности будет обработано автоматически.

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

Ответы [ 11 ]

0 голосов
/ 03 октября 2008

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

...