这些表格是第二种正常形式吗?第三个?

时间:2014-06-07 01:35:33

标签: mysql sql sql-server sql-server-2008

我的数据库中有以下表格:

enter image description here

这些表(未图示)上方是一个Users表,其中SendingUserId和ReceivingUserId被键入(它们是外键)。

这些表格是否为标准化形式?我觉得好像我错过了什么......也许SendingUserId和ReceivingUserId应该是UsersWithMessages表中的复合键?

1 个答案:

答案 0 :(得分:1)

只要一条消息不能超过一个发件人且不超过一个接收者,您就没有many-to-many关系。

由于您的Message表已包含SendingUserIdReceivingUserId,因此只需将它们设为外键(FK)即可,您根本不需要UsersWithMessages表。

您将拥有一个简单的双表架构:UserMessage