Personal/Group 消息架构

Personal/Group messaging schema

如何在 MySQL 个人群发消息中创建消息对话模式。是否有可能创建以下场景。

  1. read/unread
  2. 如果用户删除对话不影响其他。(例如用户A和B有消息对话A清除消息那么B消息应该不会影响)

这个怎么样:

MessageGroup (
    ID, 
    GroupName
)

Message (
    ID, 
    Text, 
    MessageGroupId (FK TO MessageGroup(ID))
)

User (
    ID, 
    UserName
)

UserMessage (
    ID, 
    MessageID (FK to Message(ID)), 
    UserID (FK to User(ID), 
    Cleared (true/false)
)

这样,每个用户都可以清除消息,但仅限于他自己,而其他人的消息仍然不受影响。