Une question récente sur stackoverflow a provoqué une discussion sur l'immuabilité des clés primaires. J'avais pensé que c'était une sorte de règle selon laquelle les clés primaires devraient être immuables. S'il y a une chance qu'un jour une clé primaire soit mise à jour, j'ai pensé que vous devriez utiliser une clé de substitution. Cependant, il n'est pas dans la norme SQL et certaines fonctionnalités de "mise à jour en cascade" du SGBDR permettent de modifier une clé primaire.
Ma question est donc: est-ce toujours une mauvaise pratique d'avoir une clé primaire qui peut changer? Quels sont les inconvénients, le cas échéant, d'avoir une clé primaire mutable?