Первичные ключи имеют три свойства:
- Ключ (комбинация) однозначно идентифицирует каждую строку.
- Никакой компонент ключей не может быть
NULL
.
- Таблица имеет только один первичный ключ.
Таким образом, по этому определению вы не можете объявить два столбца первичным ключом.
В общем, я не сторонник составных первичных ключей. Я рекомендую использовать автоинкрементный первичный ключ для таблицы (синтаксис зависит от базы данных).
Одной из приятных особенностей числового идентификатора является то, что он фиксирует порядок вставки значений в таблицу. Кроме того, многие базы данных группируют данные по первичному ключу, вызывая фрагментацию на insert
с и update
с.