Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Duda para estructurar dos tablas

Estas en el tema de Duda para estructurar dos tablas en el foro de Mysql en Foros del Web. Hola a todos. Tengo una pequeña duda que no se como enfocar en mi aplicación. Mi aplicación tiene dos tipos de usuarios, que pueden hacer ...
  #1 (permalink)  
Antiguo 06/08/2013, 15:09
 
Fecha de Ingreso: febrero-2009
Mensajes: 472
Antigüedad: 15 años, 9 meses
Puntos: 14
Duda para estructurar dos tablas

Hola a todos.

Tengo una pequeña duda que no se como enfocar en mi aplicación.

Mi aplicación tiene dos tipos de usuarios, que pueden hacer diferentes cosas según sean de un tipo u otro.
Que es mas aconsejable, usar dos tablas una para cada tipo, o usar una sola tabla con algún campo que les diferencie.

En un principio habia estructurado la base de datos, de tal manera que había una tabla para cada tipo de usuario, es decir tenia dos tablas.

Pero esta forma de montar las tablas tiene un problema, y es que hay algunas tablas que hacen referencia a los dos tipos de usuarios, para estas tablas tuve que hacer dos campos (usuario a, usuario b) y claro en cada fila de la base de datos uno de esos dos campos esta a null, por lo que tengo 4 tablas que tienen un nulo en cada fila y eso no es una correcta forma de trabajar.

Que opinan ustedes?? mantengo las dos tablas con el consiguiente problema de los nulos??, o junto los dos tipos de usuarios en una sola tabla y añado un campo diferenciador.

Muchas gracias por adelantado, me gustaría formar una base de datos lo mas sólida posible.

Un saludo

Pinty
  #2 (permalink)  
Antiguo 07/08/2013, 04:14
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Duda para estructurar dos tablas

Dos tablas. Pero una de usuarios y una de tipos de usuarios, con obviamente una fk de la tabal usuarios a la de tipos de usuarios... eso te permitirá crear en el futuro nuevos tipos sin cambiar nada.... además todas las características especiales, si tiene efectos sobre la bbdd, los relacionas no con los usuarios sino con el tipo de usuario...

(p.e. menus

Usuarios (n) ---- (1) TipoUsuario (1) --- (n) relTipoUMenu (m) --- (1) Menus

Sabiendo el usuario actual sabes su tipo y puedes obtener los menus que tiene habilitados)

Un usuario que cambia de tipo solo le tendrás que hacer un update, mientras que con la otra solución tendrías que hacer un delete y un insert, además te aseguras de tener un identificador único para los usuarios sean del tipo que sean.... convencido?
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 07/08/2013 a las 04:24
  #3 (permalink)  
Antiguo 08/08/2013, 16:38
 
Fecha de Ingreso: febrero-2009
Mensajes: 472
Antigüedad: 15 años, 9 meses
Puntos: 14
Respuesta: Duda para estructurar dos tablas

Hola quimfv.

Muchas gracias por contestar. Tu explicación me ha dejado las cosas mucho mas claras sobre todo el hecho de añadir una tabla que relacione el usuario con su tipo, ya que en el futuro quizas haya mas tipos de usuarios que interactuen con el resto de las tablas de otra manera.

Muchas gracias nuevamente

Pinty

Etiquetas: campo, estructurar, tabla, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:55.