Просто немного теоретического фона ... При моделировании таблицы вы определяете набор ключей .Эти ключи логически эквивалентны, но для практических целей вы выбираете один из них и называете его «основным», а остальные становятся «альтернативными».
( В DDL SQL первичный ключ называется«ПЕРВИЧНЫЙ КЛЮЧ», в то время как «альтернативный ключ» называется «УНИКАЛЬНОЕ ограничение». )
Итак, в свете этого ваш вопрос эквивалентен: «Есть ли веская причина иметь два одинаковыхkeys ", и ответ таков: " no ".
При этом вы можете иметь перекрывающиеся ключи (то есть ключи, которые разделяют некоторые поля, но не все), но это, как правило, признак плохого дизайна ... и ответ: "вероятно, нет" .
OTOH, если с помощью "уникального ключа" вы на самом делеозначает "уникальный индекс ", тогда да, вам нужны оба.
Индекс не является логическим ограничением - он просто позволяет логическим ограничениям, таким как PRIMARY KEY, работать хорошо (и для запросов, но это другая тема).