消息数据库 - 如何处理多个收件人

sak*_*007 1 mysql database-design

因此,我正在尝试开发一个关系数据库(我正在使用 MySQL,计划在 Java 前端),其中有 3 个表(人员,我存储姓名和相关个人信息的位置...和消息(发送的每条消息的位置) ,则存储相关信息。每条消息都有一个ID#,您可以从中得出发送日期和时间、消息内容、消息发送者和消息接收者)。

我的问题是设置数据库,使每条消息只能有一个发件人,但有多个收件人。例如,我可以轻松处理从用户 6 发送到用户 3 的消息 ID 73。但是如果消息 ID 74 从用户 4 发送到用户 2、3 和 8,我将如何处理?有没有办法允许多个收件人?我是否需要重新考虑数据库的结构?有人有一些建议/提示吗?

Joe*_*own 6

您需要为您的消息收件人提供一个多对多表。这样想一想,每条消息都可以发送给一个或多个收件人。此外,每个接收者大概可以接收零个、一个或多个消息。这意味着您有一个多对多,您需要一个交集表来在您的数据库中记录此信息。

考虑这个 ERD:

ERD