¿Debo tener un campo de clave principal dedicado?

Estoy diseñando una pequeña base de datos SQL para ser utilizada por una aplicación web.

Digamos que una tabla en particular tiene un campo Nombre para el cual no se permitirá que dos filas tengan el mismo valor. Sin embargo, los usuarios podrán cambiar el campo Nombre en cualquier momento.

La clave principal de esta tabla se utilizará como clave externa en otras tablas. Por lo tanto, si el campo Nombre se usó como la clave principal, cualquier cambio deberá propagarse a esas otras tablas. Por otro lado, el requisito de unicidad se manejaría automáticamente.

Mi instinto sería agregar un campo entero para que actúe como la clave principal, que la base de datos podría completar automáticamente. ¿Tiene algún sentido tener este campo o sería una pérdida de tiempo?

Respuestas a la pregunta(11)

Su respuesta a la pregunta