我正在为社交媒体网站设计数据库(统一分配)。 我一直在努力使用消息链接到成员。消息中需要来自同一主键的两个外键。一个用于发送成员,一个用于接收成员。我不确定这是可能的还是一个好主意,所以我想把一个成员分配到一个收件箱(很多会员 - 一个收件箱)。然后将所有邮件分配到收件箱(一个收件箱 - 多个邮件)。
会员很多 ------ 1 收件箱 1 ------ 很多邮件
表看起来像....
会员资料
会员ID(PK)
名称
性别
收件箱ID(FK)
收件箱
收件箱ID
消息
消息ID(PK)
收件箱ID(FK)
消息方向.... 要么来自或来自(然后成员名称)
会员ID(FK)
这就是我到目前为止所得到的一些指示,如果我走了正确的道路。因为我越看我的设计就越不喜欢它。
答案 0 :(得分:1)
草稿模型可以帮助您:
消息消费:(发送消息后)
答案 1 :(得分:0)
不,不这样做
消息可以属于多个成员,成员可以拥有多个消息,因此您需要所谓的Join表。
MemberMessage
Memberid
Message id
答案 2 :(得分:0)
您是否考虑过将Message表上的MemberID字段更改为SendingMemberID,然后添加另一个名为ReceivingMemberID的字段?这将允许您避免有点混乱的消息方向字段。
当然,您需要加入两次以获取用户的所有传入和传出消息,但这确实不是一件坏事。每个消息有两个记录(一个用于发送者,一个用于接收者)的备选选项有其自身的缺点。
祝你好运!