Если ваш столбец имени будет меняться, это не очень хороший кандидат на первичный ключ. Первичный ключ должен определять уникальную строку таблицы. Если это можно изменить, это на самом деле не так. Не зная больше деталей о вашей системе, я не могу сказать, но сейчас самое подходящее время для суррогатного ключа.
Я также добавлю это в надежде развеять мифы об использовании автоматически увеличивающихся целых чисел для всех ваших первичных ключей. Это НЕ всегда увеличение производительности, чтобы использовать их. На самом деле, довольно часто это полная противоположность. Если у вас есть автоинкрементный столбец, это означает, что каждый INSERT в системе теперь имеет дополнительные накладные расходы для генерации нового значения.
Кроме того, как отмечает Марк, с помощью суррогатных идентификаторов на всех ваших таблицах, если у вас есть цепочка связанных таблиц, для перехода от одной к другой вам может потребоваться объединить все эти таблицы, чтобы пройти их. С естественными первичными ключами это обычно не так. Объединение 6 таблиц с целыми числами обычно происходит медленнее, чем объединение 2 таблиц со строкой.
Вы также часто теряете возможность выполнять операции на основе множеств, когда у вас есть автоматически увеличивающиеся идентификаторы во всех ваших таблицах. Вместо вставки 1000 строк в родительскую таблицу, а затем вставки 5000 строк в дочернюю таблицу, теперь вам нужно вставлять родительские строки по одной за раз в курсоре или каком-либо другом цикле, просто чтобы получить сгенерированные идентификаторы, чтобы вы могли назначить их родственным детям. Я видел, как 30-секундный процесс превратился в 20-минутный процесс, потому что кто-то настаивал на использовании автоматически увеличивающихся идентификаторов для всех таблиц в базе данных.
Наконец (по крайней мере, по причинам, которые я перечисляю здесь - конечно, есть и другие), использование автоматически увеличивающихся идентификаторов во всех ваших таблицах способствует плохому дизайну. Когда разработчику больше не нужно думать о том, каким может быть естественный ключ для таблицы, это обычно приводит к ошибочным дубликатам, попадающим в данные. Вы можете попытаться избежать проблемы с уникальными индексами, но, по моему опыту, разработчики и дизайнеры не проходят через это дополнительное усилие, и после года использования их новой системы они обнаруживают, что данные - беспорядок, потому что база данных не имела правильные ограничения данных через естественные ключи.
Конечно, есть время для использования суррогатных ключей, но их использование вслепую на всех столах почти всегда является ошибкой.