все мои таблицы имеют поле Id
определенного типа (UserId, PostId, FooId
и т. Д.). Обычно я делаю это Первичный ключ.База данных Первичный ключ -> Поле идентификации И поле имени?
Таблица, которую я называю Countries
. Это имеет
CountryId SMALLINT
Name VARCHAR(100) -- Yes, english country names only, in this column.
AndSomeOtherFields.
Теперь, я знаю, что Name
должен быть уникальным. Все названия стран уникальны. Это хорошо/плохо/ru-roh, если я делаю PrimaryKey
== CountryId ASC
иName ASC
?
Если это хорошо, может кто-нибудь объяснить, почему это лучше, чем просто Id
, являющийся ПК? Это просто то, что он обеспечивает целостность данных (например, нет двух названий стран, существующих в таблице). Если это плохо .. почему?
благодарит вас.
# Повторяющийся * http://stackoverflow.com/questions/166750/should-i-have-a-dedicated-primary-key-field * http://stackoverflow.com/questions/695325/should-i -use-natural-identity-columns-without-guid И это только те, что я мог видеть справа, этот вопрос задавался довольно много раз. – cgp