Database design 数据库设计多对多和自有参考

Database design 数据库设计多对多和自有参考,database-design,Database Design,我有以下数据模型 [User] 1 - * [UserGroup] * - * [User] 也就是说,一个用户“拥有”一个用户组,而这个用户组又有许多用户。一个组始终只有一个所有者。 让用户组表直接引用所有者有意义吗?或者我应该在多对多表上创建一个“拥有标志”吗?因为所有者永远不会是组的成员,所以将他们放入成员交集听起来是错误的。在选择成员时,您必须始终排除所有者 让您的用户组引用所有者,这样更容易理解,并允许您使用非空约束强制执行它。拥有用户是否始终是组的成员?不,拥有用户永远不会是组的成

我有以下数据模型

[User] 1 - * [UserGroup] * - * [User]
也就是说,一个用户“拥有”一个用户组,而这个用户组又有许多用户。一个组始终只有一个所有者。
让用户组表直接引用所有者有意义吗?或者我应该在多对多表上创建一个“拥有标志”吗?

因为所有者永远不会是组的成员,所以将他们放入成员交集听起来是错误的。在选择成员时,您必须始终排除所有者


让您的
用户组
引用所有者,这样更容易理解,并允许您使用
非空
约束强制执行它。

拥有用户是否始终是组的成员?不,拥有用户永远不会是组的成员是的,我想您最初的问题为我回答了,谢谢:)