Ver Mensaje Individual
  #5 (permalink)  
Antiguo 21/11/2012, 19:07
Avatar de gnzsoloyo
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: Mejor forma de hacer esta consulta

Cita:
Ummm pero como hago si dos o mas usuarios comparten un mismo mensaje, crearía otra relación en la tabla intermedia por cada usuario que comparta el mismo mensaje mensaje?
Una relación N:N (muchos a muchos), es exactamente eso: Una relación donde cada uno de los registros de la tabla A está relacionado N veces con cada uno de la tabla B. En ese caso la PK de la tabla se define con los dos campos.
Pero en el tipo de casos que te preocupa, un mismo usuario puede estar relacionado N veces no con el mensaje, sino con el thread (tema) de que se trata, como por ejemplo los de este mismo sitio.
Lo que se hace es agregar un discriminante: El numero de sub item, o numero de post del mismo mensaje, que suele ponerse con un incremental.
Así, lo único que hay que hacer es ordenar históricamente los posts relacionados con el tema.

¿Se entiende la lógica?

En el caso de mensajes que se envían a N usuarios y los que esos N usuarios le responden al remitente, la lógica aplicada es la misma: ID del remitente, ID del receptor, ID del thread si corresponde y fecha de emisión.
Todo este tipo de análisis se estudia en la universidad al cursar las asignaturas de Base de Datos. Los que no cursan, los autodidactas, se ven obligados a aprenderlo por la fuerza. Si no lo haces, los sistemas diseñados tarde o temprano terminarán colapsando por fallas de lógica y performance.

Por algo BBDD es una especialidad profesional.

En cualquier caso, te recomiendo que hagas un alto y le des una leída a los principios del mo delo Entidad-Relación (Wikipedia sirve), antes de seguir adelante.
Siempre viene bien.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)