这可能是非常主观的,我对此有自己的想法,但是如何构建一个支持用户到用户消息(一对一或一对多)的数据库。
我最初的想法是有一个 MESSAGE 表和 MESSAGE_PARTIES 表
MESSAGE would include the following fields: -ID, Subject, Body, Created On, Parent MSG ID (for replies)
MESSAGE PARTIES fields would include: -ID, Message ID, Sender ID, Recipient ID, Sent On
这是合理的逻辑吗?我非常想知道更好/更有效的方法是什么。
最佳答案
MESSAGE PARTIES
你不太对劲。根据您当前的设置,您可以指定多个发件人和多个日期(更准确地说,您可以指定发件人、收件人和日期的多个组合)。这与我熟悉的任何消息传递系统都不一样,而且可能不是您想要的(它也不符合您的描述)。
更合适的布局是将发件人和“已发送”字段放在 MESSAGE
表中,然后只是 ID
、Message ID
,和 MESSAGE PARTIES
表中的 Recipient ID
。
关于sql - 用户消息数据库架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3270119/