lo ideal es que la PK sea un integer autoincremental (o un conjunto de ellos si se trata de una llave compuesta)
y que el usuario no pueda establecer.
¿por qué insistir en esto y no dejar, por ejemplo, que la cédula sea la PK?:
por el error Humano, imagina que se equivocó en el numero de cédula, y lo percatan después de varios días, generando data con la cédula como FK de otras tablas, ahora dime, ¿si te piden corregirla, como arreglas menudo lío?: tendrías que ir reemplazando la nueva cédula en cascada, un caos, en cambio si dejas una PK como debe ser, y la cédula en su campo independiente, no tendrás ese problema
Además si es por evitar duplicidad, colocar un
UNIQUE INDEX al campo basta,
evita siempre que el usuario pueda editar la PK, la PK es tu ancla, tu herramienta con la cual poder discriminar los registros a nivel de sistema, no para usarlo como parte de la lógica de negocios, para ello están los Index