Sont les noms d'utilisateur un candidat valide pour une clé primaire?
-
23-09-2019 - |
Question
Je sais que les clés primaires de substitution sont généralement recommandées sur les clés primaires naturelles, mais qu'il y a des arguments en faveur des clés primaires de substitution en matière de noms d'utilisateur?
La solution
Si vous ne voulez pas obtenir les noms d'utilisateur en double, créez un UNIQUE constraint
.
Que faire si DWong1145
veut changer de nom d'utilisateur? Voulez-vous de faire toutes les relations de base de données à UPDATE CASCADE
?
Autres conseils
NON , vous devriez Utiliser le nom d'utilisateur uniquement comme une clé / constante unique, . Nom d'utilisateur peut être changé, juste et par exemple:. Il peut être une marque et le propriétaire vous demande de le déposer
Il est un bon candidat dans un certain sens, mais vous devez considérer si vous voulez vraiment le faire. Par exemple, vous avez un utilisateur avec un nom d'utilisateur, l'utilisateur est « supprimé » (ou marqué comme supprimé). Donc, il n'y a en fait aucune raison de ne pas permettre de créer un autre utilisateur avec le même nom d'utilisateur, mais il est déjà « pris », car il est une clé primaire.
Du point de vue du client, vous misez. Je ne veux pas que mon nom d'utilisateur pour être DWong1145.
Un grand inconvénient d'avoir une chaîne comme clé primaire, peu importe que ce soit un nom d'utilisateur ou autre chose, est que toutes les colonnes clés étrangères référence à la table doivent aussi être des chaînes, ce qui est à la fois plus lente et les déchets de plus d'espace.