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

[SOLUCIONADO] Necesito un consejo sobre diseño

Estas en el tema de Necesito un consejo sobre diseño en el foro de Mysql en Foros del Web. Estoy trabajando con la API de twitter. Entonces a la hora de guardar los datos del usuario no hay problema. Pero a la hora de ...
  #1 (permalink)  
Antiguo 08/10/2013, 13:12
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Necesito un consejo sobre diseño

Estoy trabajando con la API de twitter. Entonces a la hora de guardar los datos del usuario no hay problema. Pero a la hora de guardar los datos de los amigos de un usuario ahí hay un problema, porque un usuario solo es registrado en la tabla users en el momento que hace login con twitter, hasta ese momento en la tabla es solo friend.

El usuario debe contestar una o varias preguntas sobre su amigo.

Tengo una tabla para questions y otra para answers con una FK apuntando al id de questions. Entonces el problema está en que lo correcto es no repetir preguntas sobre friends en ningún momento.

¿Cómo me aconsejais hacer el diseño?:

1) en una tabla questions, en otra answers con el FK apuntando a questions y mediante consultas y subconsultas obtener las questions cuyo id no están en answers AND id_friend != al id_friend del usuario AND id_user != al usuario de la sesión.

Código SQL:
Ver original
  1. questions
  2.  
  3. id_question|question|id_type_question(FK)|
  4.  
  5. answers
  6.  
  7. id_answer|answer|id_questions(FK)|id_friend|id_users(FK)|datetime|statement

2) una tabla questions, otra answers y relacionadas entre sí con un FK en answers apuntando a questions y otro FK en questions apuntando al id_friend en answers.

Código SQL:
Ver original
  1. questions
  2.  
  3. id_question|question|id_type_question(FK)|id_friend(FK)
  4.  
  5. answers
  6.  
  7. id_answer|answer|id_questions(FK)|id_friend|id_users(FK)|datetime|statement

U otro diseño que podais sugerirme. Escucho ideas :D
__________________
Ayúdame a hacerlo por mi mismo.
  #2 (permalink)  
Antiguo 08/10/2013, 13:29
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, 5 meses
Puntos: 2658
Respuesta: Necesito un consejo sobre diseño





Otro ejemplo:


__________________
¿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 08/10/2013, 13:34
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Necesito un consejo sobre diseño

Muchísimas gracias!!! se ven verdaderamente interesantes!!!

¿No se pueden dar más puntos que 1? :D
__________________
Ayúdame a hacerlo por mi mismo.
  #4 (permalink)  
Antiguo 08/10/2013, 13:37
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, 5 meses
Puntos: 2658
Respuesta: Necesito un consejo sobre diseño

Naaa...
Con el gracias alcanza.

Como tip te paso esto: http://www.forosdelweb.com/f86/herra...3/#post4420146

Saludos
__________________
¿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 08/10/2013, 14:23
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Necesito un consejo sobre diseño

:O es un auténtico tesoro!!! estos recursos son como el oro, gracias!!!
__________________
Ayúdame a hacerlo por mi mismo.

Etiquetas: consejo, diseño, tabla
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 00:54.