Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/04/2008, 12:04
seyko
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 11 meses
Puntos: 13
Re: Que me aconsejan en este tema?

Cita:
Iniciado por killerangel Ver Mensaje
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