Здесь есть несколько хороших ответов. В дополнение к тому факту, что первичный ключ не может быть нулевым, сам по себе является уникальным ограничением и может состоять из нескольких столбцов, существуют более глубокие значения, которые зависят от используемого сервера базы данных.
Я пользователь SQL Server, поэтому первичный ключ имеет для меня более конкретное значение. В SQL Server по умолчанию первичные ключи также являются частью так называемого «кластеризованного индекса». Кластерный индекс определяет фактическое упорядочение страниц данных для этой конкретной таблицы, что означает, что упорядочение первичного ключа соответствует физическому порядку строк на диске.
Я знаю, что один, возможно, больше форматов таблиц MySql также поддерживает кластерную индексацию, что означает то же самое, что и в SQL Server ... он определяет физический порядок строк на диске.
Oracle предоставляет нечто, называемое индексными таблицами, которые упорядочивают строки на диске по первичному ключу.
Я не очень знаком с DB2, однако я думаю, что кластерный индекс означает, что строки на диске хранятся в том же порядке, что и отдельный индекс. Я не знаю, должен ли кластеризованный индекс соответствовать первичному ключу, или это может быть отдельный индекс.