Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Sistema de mensagens do usuário


Sugiro ter pelo menos o seguinte:

Usuários, Tópicos, Mensagens
  • Todas as mensagens teriam um tópico
    • chave estrangeira:thread_id
  • Todos os tópicos teriam pelo menos uma mensagem e pelo menos um destinatário (assim como o remetente)
    • chave estrangeira:to_user_id, from_user_id, message_id

A partir daí, você pode simplesmente atribuir alguns sinalizadores ao seu thread (to_user_deleted, from_user_deleted) que seriam atualizados de acordo.

É claro que há muito mais coisas a considerar, como os tipos de coisas que você deseja contabilizar. Por exemplo:
  • Deseja exibir a mensagem atual em vez da mensagem inicial?
  • Deseja permitir que os usuários marquem mensagens individuais como lidas ou apenas conversas?

Você precisa levar tudo isso em consideração ao projetar seu banco de dados.