Перед назначением первичного ключа разработчик БД должен выявить так называемые потенциальные ключи таблицы. Потенциальный ключ - это поле или набор полей таблицы, позволяющий уникальным образом идентифицировать каждую запись.
При наличии двух и более кандидатов на звание первичного ключа разработчик БД должен произвести выбор из имеющихся альтернативных вариантов, руководствуясь при этом следующими правилами.
Кандидат на первичный ключ должен отвечать следующим требованиям:
1. Потенциальный ключ с минимальным набором полей.
2. Физический размер полей, входящих в состав ключа, минимален.
3. Вероятность изменения значений ключевых полей во время эксплуатации БД крайне низка.
4. Обычный пользователь БД не нуждается в прямом обращении к содержимому ключа.
Зачастую наилучшим кандидатом на высокое звание первичного ключа становится специально введенное в таблицу поле автоинкрементного типа либо типа Time-Stamp с автоматической генерацией значения в момент вставки новой записи.