我在mysql workbench中构建数据库模型。 我有这种情况,我有一个表学生一个表老师和一个表消息。 一个学生应该能够向其他学生和老师发送信息,同样对于老师,应该能够向学生和其他老师发送信息,我只是想知道我鼓励它的方式,是好的,还是如果有更好的解决方案?
我试着考虑所有三张桌子之间的n:m关系,但没有得到很好的结果。
答案 0 :(得分:2)
messages
实体应包含有关消息的信息,而不是from
或to
的角色。一个更简单的结构将是:
roles
-----
role_id
description
users
------
user_id
role_id (references roles.role_id)
messages
------
message_id
from_id (references users.user_id)
to_id (references users.user_id)
datetime
message