Vous devez toujours ont une clé primaire.
Cependant, je soupçonne que votre question est formulée de manière un peu trompeuse, et que vous voulez en fait demander si la clé primaire doit toujours être un numéro généré automatiquement (également connu sous le nom de clé de substitution), ou un champ unique qui est une donnée significative réelle (également connu sous le nom de clé naturelle), comme le SSN pour les personnes, l'ISBN pour les livres, etc.
Cette question est une vieille guerre de religion dans le domaine de la DB.
Selon moi, les clés naturelles sont préférables si elles sont effectivement uniques et ne changent jamais. Cependant, il faut être prudent, car même un élément apparemment stable comme le SSN d'une personne peut changer dans certaines circonstances.