数据库设计多对多,并拥有一个参考

时间:2014-04-01 08:13:47

标签: database-design

我有以下数据模型

[User] 1 - * [UserGroup] * - * [User]

也就是说,用户“拥有”一个UserGroup,而UserGroup又拥有许多用户。组中总会有一个所有者。 让UserGroup表直接引用所有者是否有意义,或者我应该在多对多表上创建“拥有标志”?

1 个答案:

答案 0 :(得分:0)

由于所有者永远不会成为该组的成员,因此将它们放入成员交叉点听起来是错误的。在选择成员时,您必须始终排除所有者。

让您的UserGroup引用所有者,这样可以更容易理解,并允许您使用NOT NULL约束来强制执行。