用户消息数据库架构?

4
这可能很主观,我有自己的想法,但如何构建支持用户之间消息(一对一或一对多)的数据库呢?
我的最初想法是有一个 MESSAGE 表和 MESSAGE PARTIES 表。
MESSAGE 包括以下字段: -ID、Subject、Body、Created On、Parent MSG ID(用于回复)。
MESSAGE PARTIES 字段包括: -ID、Message ID、Sender ID、Recipient ID、Sent On。
这个逻辑合理吗?我很想知道更好/更有效的方法。

1
我认为你的想法很好。这是一个多对多的选项,应该能够很好地工作。 - Chase Florell
1个回答

9
您对于“消息参与者”(MESSAGE PARTIES)的理解还不够准确。根据您当前的设置,您可以指定多个发送者和多个日期(更确切地说,您可以指定多个发送者、接收者和日期的组合)。这并不像我熟悉的任何一种消息系统,也不是您想要的(它也不符合您的描述)。
一个更合适的布局应该将发送者和“发送时间”字段放在“消息”表中,然后只在“消息参与者”表中放置“ID”、“消息ID”和“接收者ID”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接