Cita:
Iniciado por killerangel Hola.
Cuando se diseña una base de datos, lo primero que hacemos en una tabla, por ejemplo usuario, es darle primero el campo de 'id_usuario', luego el 'nombre_usuario' y 'password_usuario', esto es correcto? Es decir, si tenemos siempre que usar la validacion en este tipo de tabla con el nombre de usuario, no esta demás el 'id_usuario'?
No esta demas.
Cita: Por un lado es menos trabajoso para el server, trabajar con un numero,
Es más eficiente, no menos trabajoso.
Cita: ero despues tenemos que hacer el 'SELECT... ' para hallar los datos de nombre usuario que mas se usa en el caso. Por otro lado si se guardan datos del usuario en otras tablas es mejor trabajarlo con el 'id_usuario', al menos creo q para mi lo es...
...Que me recomiendan? debo usar el 'id_usuario'? o lo dejo nomas con 'nombre_usuario' como PK...
La mejora a nivel de rendimiento de utilizar una PK numerica en lugar de texto, es evidente, los indices son mucho más eficientes, las FK también, etc
Por ejemplo, en una consulta donde tengas X joins sobre la tabla usuario y un criterio sea el usuario, es mucho mejor hacer X joins numericos y una comparacion para filtrar por el usuario.
Si la PK fuera el usuario, cada join tendría que hacer la comparación de texto.
No se si me explico bien.
Bueno, personalmente, siempre que puedo PK númer¡ca.
Un saludo