Souvent dans une table qui n'a pas de clé naturelle, il est toujours utile pour les utilisateurs d'avoir un identifiant généré de manière unique. Si la table a une clé primaire de substitution (et dans ce cas, vous vous en doutez certainement), cette clé devrait-elle être exposée à l'utilisateur ou un autre champ devrait-il être utilisé à cette fin?
Une raison de ne pas exposer la clé de substitution est que vous ne pouvez plus effectuer d'opérations qui préservent la relation entre les enregistrements, mais modifier les valeurs de clé, telles que certains types de suppression / réinsertion, de nombreuses méthodes de copie de données d'une base de données vers un autre, etc.
Le principal avantage d'exposer la clé de substitution est la simplicité d'utilisation d'un champ que vous avez de toute façon.
Dans quelles circonstances est-il préférable d'exposer directement la clé de substitution aux utilisateurs?