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

[SOLUCIONADO] Almacenar en una tabla los destinatarios por mensaje

Estas en el tema de Almacenar en una tabla los destinatarios por mensaje en el foro de Mysql en Foros del Web. Buenos días, Estoy intentando crear un sistema de mensajería interna para mi aplicación, sin hacer uso de emails y me encuentro con la siguiente tesitura. ...
  #1 (permalink)  
Antiguo 11/03/2013, 06:19
 
Fecha de Ingreso: septiembre-2006
Mensajes: 139
Antigüedad: 17 años, 7 meses
Puntos: 14
Almacenar en una tabla los destinatarios por mensaje

Buenos días,

Estoy intentando crear un sistema de mensajería interna para mi aplicación, sin hacer uso de emails y me encuentro con la siguiente tesitura.

Quiero almacenar en mis tablas de alguna forma múltiples destinatarios para mis mensajes.

Usuarios (idUsuario, Password, Nombre, Apellido1, Apellido2)

Mensajes (idMensaje, [idRemitente], Asunto, Texto, FechaEnvio, Estado, Prioridad, [idMensajePadre])
Donde idRemitente hace referencia al campo idUsuario de la tabla Usuarios, e idMensajePadre hace referencia al campo idMensaje de la tabla Mensajes (al ser una relación reflexiva de donde proviene)

DestinatariosMensaje ([idMensaje], [idDestinatario])
Donde idMensaje hace referencia al campo idMensaje de la tabla Mensajes, e idDestinatario hace referencia al campo idUsuario de la tabla Usuarios.

¿Cómo podría tener en cuenta esta situación? Ya que había pensado usar como clave primaria de la tabla DestinatariosMensaje tanto el campo idMensaje como idDestinatario.

Gracias de antemano.

Saludos cordiales.
  #2 (permalink)  
Antiguo 11/03/2013, 06:32
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: Almacenar en una tabla los destinatarios por mensaje

Toda tabla relacional, que representa una relación de cardinalidad N:N lleva por PK las FK de ambas tablas referidas.
Eso lo dice específicamente el modelo E-R, y es suficiente.
Sólo lleva un discriminante adicional, que es también parte de la clave (y no es conveniente que sea un autoincremental), si y sólo si el par re FK de la clave puede repetirse más de una vez en diferentes instancias.
Sólo en ese caso.
__________________
¿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 11/03/2013, 12:07
 
Fecha de Ingreso: septiembre-2006
Mensajes: 139
Antigüedad: 17 años, 7 meses
Puntos: 14
Respuesta: Almacenar en una tabla los destinatarios por mensaje

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Toda tabla relacional, que representa una relación de cardinalidad N:N lleva por PK las FK de ambas tablas referidas.
Eso lo dice específicamente el modelo E-R, y es suficiente.
Sólo lleva un discriminante adicional, que es también parte de la clave (y no es conveniente que sea un autoincremental), si y sólo si el par re FK de la clave puede repetirse más de una vez en diferentes instancias.
Sólo en ese caso.
Muchas gracias gnzsoloyo, muy útil tu respuesta.

Es que no sabía si los destinatarios se podrían especificar como parte de la clave primaria.

Saludos cordiales.
Francisco J.

Etiquetas: clave, mensaje, mysql+php, primaria, usuario
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 10:55.