我有以下数据模型
[User] 1 - * [UserGroup] * - * [User]
也就是说,用户“拥有”一个UserGroup,而UserGroup又拥有许多用户。组中总会有一个所有者。 让UserGroup表直接引用所有者是否有意义,或者我应该在多对多表上创建“拥有标志”?
答案 0 :(得分:0)
由于所有者永远不会成为该组的成员,因此将它们放入成员交叉点听起来是错误的。在选择成员时,您必须始终排除所有者。
让您的UserGroup
引用所有者,这样可以更容易理解,并允许您使用NOT NULL
约束来强制执行。