如何用DB解决这个问题

时间:2012-02-15 10:18:13

标签: sql-server database architecture

我有一个表UsersUserID, FirstName, LastName...)和一个表Messages。表Messages存储在用户之间发送的消息。

所以,我可以像这样创建这个表:

Messages (SenderID, ReceiverID...)并向Users创建2 FK,但此方法似乎不正确,并且不允许对FK进行级联删除/更新。

不允许多条消息。 另外,我不能为这两种关系设置“Set Null”。为什么?这将是非常好的。

在这种情况下哪种结构是正确的?

1 个答案:

答案 0 :(得分:1)

您必须从用户角度查看问题。

当发件人从发件箱中删除邮件时,您认为收件人是否希望删除邮件?

没有。换句话说:为每个用户创建一条消息副本。

  

不允许多条消息

疯狂的要求。这是两个不同的信息。