Email 邮件数据库模式设计

Email 邮件数据库模式设计,email,database-design,Email,Database Design,我正在尝试设计一个邮件系统。我在这个问题上口吃了,我还没有解决办法,但也许你能给我指出一些?我的问题是,如果收件箱和发件箱有两个不同的表,我真的无法想象数据库模式应该是什么样子。在这个示例中,我们还必须有用户和消息表。所以,从我的观点来看,我认为消息应该有两个外键指向两个用户ID(users表中的主键),从中我们可以识别发送方和接收方。之后看起来还可以,但若我们开始思考,我们必须确定这两个用户中的哪一个应该在收件箱或发件箱中包含此消息?如果我们有id、发送者id和接收者id、文本等消息字段,我唯

我正在尝试设计一个邮件系统。我在这个问题上口吃了,我还没有解决办法,但也许你能给我指出一些?我的问题是,如果收件箱和发件箱有两个不同的表,我真的无法想象数据库模式应该是什么样子。在这个示例中,我们还必须有用户和消息表。所以,从我的观点来看,我认为消息应该有两个外键指向两个用户ID(users表中的主键),从中我们可以识别发送方和接收方。之后看起来还可以,但若我们开始思考,我们必须确定这两个用户中的哪一个应该在收件箱或发件箱中包含此消息?如果我们有id、发送者id和接收者id、文本等消息字段,我唯一想到的就是。我认为这不是一个好的可维护设计。。例如,我们是否希望消息表不仅用于用户对话,而且用于论坛或其他地方?如果我错了,请纠正我。欢迎任何帮助、建议、建议

看看Zimbra,你会得到一些灵感。它是开源的,使用MySql存储消息元数据,而实际消息存储在文件系统中