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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top