Первичные ключи сохранились как пережиток прошлого в большинстве баз данных из-за особенностей ранних баз данных. 14 В них первичные ключи требовались для идентификации физического расположения строки на носителях с последовательным доступом к данным. 14
В современном SQL не нужно ориентироваться на физическое представление информации, таблицы моделируют связи и внутренний порядок строк не важен. 14 Однако SQL-сервер по умолчанию создаёт кластерный индекс для первичных ключей и, по старой традиции, физически выстраивает порядок строк. 14
Таким образом, в настоящее время первичные ключи обеспечивают в основном отражение или определение физического расположения, но не выполняют другие современные функции, например моделирование связей между данными.
При этом первичный ключ не отменяет возможности объявления и других ключей, и если ни один ключ не назначен первичным, то таблица всё равно будет нормально работать. 14