我有一个表Users
(UserID, FirstName, LastName...
)和一个表Messages
。表Messages
存储在用户之间发送的消息。
所以,我可以创建这样的表:
Messages (SenderID, ReceiverID...)
并创建2个FK到Users
,但这种方法似乎不正确,不允许对FK进行级联删除/更新。
不允许有多条消息。此外,我不能为这两个关系都设置"set Null"。为什么?那就太好了。
在这种情况下,哪种结构是正确的?
您必须从用户的角度来看待这个问题。
当发件人从发件箱中删除其邮件时,您认为收件人希望删除其邮件吗?
没有。换句话说:为每个用户创建一个消息副本。
不允许多条消息
疯狂要求。这是两个不同的信息。