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

La forma mas correcta de hacerlo

Estas en el tema de La forma mas correcta de hacerlo en el foro de Mysql en Foros del Web. Hola a todos, estoy programando un scrip en PHP y con SQL. Pero tengo una duda. Tengo una base de datos de la siguiente manera. ...
  #1 (permalink)  
Antiguo 05/05/2011, 07:01
Avatar de Jota_sk  
Fecha de Ingreso: octubre-2008
Mensajes: 188
Antigüedad: 15 años, 6 meses
Puntos: 0
La forma mas correcta de hacerlo

Hola a todos, estoy programando un scrip en PHP y con SQL.

Pero tengo una duda. Tengo una base de datos de la siguiente manera. Tengo una tabla con los usuarios y dentro de ella tengo el nombre de usuario, su contraseña e informacion de ellos. Y despues tengo otra tabla con deportes tipo skate, basquet, futbol, etc.. y en cada deporte su descripcion y datos. Lo que quiero hacer es un script para que un usuario pueda unirse a varios deporte. Para hacer eso he creado otra tabla llamada "userdeporte" donde cojo el id del usuario i el id del deporte, pero ahora mi duda, resulta que cada usuario cuando se une a un deporte puede modificar datos y añardirlo, como si fuera una ficha personalizada. Pero no se muy bien donde guardar eso, habia pensado en que cada usuario cuando se "una" a un deporte se crea en la tabla "userdeporte" su correspondiente informacion. Pero no se si es la forma mas correcta de hacerlo. Ya que los usuarios pueden desunirse o unirse cuando quieran. Cual seria la mejor forma de hacerlo respecto a SQL?
  #2 (permalink)  
Antiguo 05/05/2011, 07:18
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: La forma mas correcta de hacerlo

Si se trata de datos propios de la inscripción en ese deporte, y son siempre los mismos datos para todos los deportes, esos datos pertenecen a l atabla "usersdeporte", ya que son atributos propios de la registración del usuario en el deporte.
Pero si existen diferentes tipos de datos en diferentes deportes, requerirán tablas específicas para cada uno de ellos, todas dependientes de la entidad "usersdeportes". En ese caso conviene trabajar con una estructura de jerarquía.
Hay que analizar específicamente el modelo de sistema para resolver eso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 05/05/2011, 13:51
Avatar de Jota_sk  
Fecha de Ingreso: octubre-2008
Mensajes: 188
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: La forma mas correcta de hacerlo

basicamente hay un tabla para los usuarios y otra para los deportes. Si un usuario se une a un deporte el puede poner 3 deportistas favoritos. Y luego el también puede des-unirse de ese deporte. Pero la duda viene ahi, si un usuario se une a el deporte skate y ponen sus 3 skater favoritos, todo perfecto. Pero si luego el se desune de ese deporte que hago? borro toda la fila de esa tabla que tenga que ver con ese user y ese deporte, no? Entonces si muchos usuarios hacen estos, no iria mas lento las consultas? Entonces hago eso? lo meto dentro de la tabla "usersdeportes"
  #4 (permalink)  
Antiguo 05/05/2011, 16:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: La forma mas correcta de hacerlo

Si los deportistas favoritos deben permanecer en la base, aunque se desinscriba de un deporte, entonces es una tabla relacionada con los usuarios y no con usuarios_deporte. Si la relacionas con los deportes a que se suscribe, entonces deberá borrarse al eliminar la suscripción.
Allí lo que tienes que determinar es qué es lo que quieres hacer. No te lo puedo decir yo: Depende absolutamente de tu decisión en función de lo que el sistema tiene que poder realizar.
Simplificando:
1) Permanecen, aunque se desinscriba: Tabla relacionada con usuarios y con deportes, pero no con la suscripción.
2) No permanecen: Tabla dependiente de la suscripción.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 06/05/2011, 11:54
Avatar de Jota_sk  
Fecha de Ingreso: octubre-2008
Mensajes: 188
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: La forma mas correcta de hacerlo

Lo que haré sera borrar esa tabla fila y ya esta. Muchas gracias por la ayuda!
  #6 (permalink)  
Antiguo 06/05/2011, 12:07
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: La forma mas correcta de hacerlo

No hay de qué...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: formulario
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 02:40.