sql >> Base de Datos >  >> RDS >> Mysql

Sistema de mensajería de usuario

Sugeriría tener al menos lo siguiente:

Usuarios, Temas, Mensajes

  • Todos los mensajes tendrían un hilo
    • clave externa:thread_id
  • Todos los hilos tendrían al menos un mensaje y al menos un destinatario (además del remitente)
    • clave externa:to_user_id, from_user_id, message_id

A partir de ahí, simplemente podría asignar un par de indicadores a su hilo (to_user_deleted, from_user_deleted) que se actualizarían en consecuencia.

Por supuesto, hay muchas más cosas que considerar, como qué tipo de cosas desea tener en cuenta. Por ejemplo:

  • ¿Desea mostrar el mensaje actual en lugar del mensaje inicial?
  • ¿Desea permitir que los usuarios marquen mensajes individuales como leídos o solo cadenas?

Debe tener todo esto en cuenta al diseñar su base de datos.