Ver Mensaje Individual
  #4 (permalink)  
Antiguo 05/11/2003, 09:50
Avatar de Webstudio
Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Hola Zeus...
TE cuento como lo hice yo ? Hace un tiempo, cuando estabamos programando ZonaPHP, hice una clase genérica de Manejo de usuarios ( que nunca lanzamos, y aún me lamento ) que justamente lo que hacia era abstraer por un lado el manejo de usuarios ( login, password, fechas de registro, ult. login, cant. de accesos, etc ) en una tabla y todo lo que sea Datos separados, por otra.

O sea, tener una tabla que sea solamente con los datos de autenticación del usuario y por otro lado, una tabla con los datos particulares que le incumben a la aplicación ( pensá que no todas las aplicaciones requieren los mismos datos de tus usuarios ). Algunas aplicaciones necesitarán nombre, teléfono, dirección, etc, y otras necesitarán otros tipos de datos, como departamento comercial, referente, etc. Todo depende de la "naturaleza" de la aplicación que estés utilizando.

Aparte, la separación en varias tablas se hace casi natural en este tipo de aplicaciones que utilizan bases de datos, por el hecho de que muchas veces, si la aplicación cambia y requiere que se agreguen nuevos datos para un usuario, entonces que vas a hacer? Modificar la tabla de usuarios y agregar los campos que faltan ? No! Eso es jugar con fuego ( yo se lo que te digo, rompí muchas cosas MUY feo haciendo eso ).

Lo mejor, es tener separados los datos de un usaurio en grupos de tablas en una estructura lógica, y relacionar los datos con un usuario mediante un Foreign Key como el ID del usuario. Por ejemplo, y tomando como ejemplo un Foro, en una tabla tendrias todos los datos de login de un usuario, en otra tabla todos los datos personales de un usuario, en otra tabla podrías tener todos los posts "favoritos" de los usuarios, etc. Ves que de otra manera, meter toda esa info en 1 sola tabla seria, no ya inadecuado, sinó que casi imposible?

Bueno, eso es lo que opino. Cualquier que piense lo contrario, please, me gustaría oir sus consideraciones.

Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com