Son los nombres de usuario a un candidato válido para una clave principal?
-
23-09-2019 - |
Pregunta
Sé que las claves principales sustitutos se recomiendan generalmente sobre claves primarias naturales, pero ¿hay alguna argumentos a favor de las claves principales sustitutos cuando se trata de nombres de usuario?
Solución
Si no desea conseguir duplicar nombres de usuario, crear un UNIQUE constraint
.
¿Qué pasa si DWong1145
quiere cambiar su nombre de usuario? Va a hacer todas las relaciones de bases de datos para ser UPDATE CASCADE
?
Otros consejos
NO , que debiera nombre de usuario sólo uso como clave / constante único . Nombre de usuario se puede cambiar, justo y ejemplo:. Puede ser una marca comercial y las peticiones de los propietarios que cae
Es un candidato bueno, en cierto sentido, sin embargo hay que tener en cuenta si realmente quiere hacerlo. Por ejemplo, usted tiene un usuario con un determinado nombre de usuario, entonces el usuario se "borra" (o marcado como eliminado). Por lo tanto, en realidad no hay razón para no permitir crear otro usuario con el mismo nombre de usuario, pero ya está "tomada", ya que es una clave principal.
Desde el punto de vista del cliente, se apuesta. No quiero que mi nombre de usuario sea DWong1145.
Una gran desventaja de tener una cadena como clave primaria, independientemente de si se trata de un nombre de usuario o alguna otra cosa, es que todas las columnas de clave foránea que referencie la tabla también tendrán que ser cadenas, que es a la vez más lento y desechos más espacio.