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