Sql server 表中的关系

Sql server 表中的关系,sql-server,relational-database,Sql Server,Relational Database,我的数据库有4个表:用户(pk)、组(pk)、项和userToGroup。新增图表: 关系还好吗?我从过去就记得,这不应该是一种循环关系。这是真的吗?如果是,我如何才能将其更改为ok?这是一个奇怪的图表。因此,一个项目有一个用户和一个组,但有一个表也有用户和组。因此,您可以将属于组1的项目分配给属于组2的用户。这是您的意图吗?为什么项目可以与用户或组相关?那应该只是一个团体吗?另外,我建议您在各个表中保持列名的一致性。UserID、GroupID等。ID不是一个好名称,因为您的实体名称必须更改

我的数据库有4个表:用户(pk)、组(pk)、项和userToGroup。新增图表:


关系还好吗?我从过去就记得,这不应该是一种循环关系。这是真的吗?如果是,我如何才能将其更改为ok?

这是一个奇怪的图表。因此,一个项目有一个用户和一个组,但有一个表也有用户和组。因此,您可以将属于组1的项目分配给属于组2的用户。这是您的意图吗?为什么项目可以与用户或组相关?那应该只是一个团体吗?另外,我建议您在各个表中保持列名的一致性。UserID、GroupID等。ID不是一个好名称,因为您的实体名称必须更改其他表中的名称。名字也一样。我会使用ItemName和GroupName,否则每次查询时都必须使用别名。圆圈通常意味着额外的信息。请您解释一下,在您的数据库中,组和项目是什么意思?您是否有可以同时包含用户和项目的公共组?为了帮助您,请解释该图表。这并不是完全错误的,但它确实允许一些混淆。很明显,用户和组以多对多关系存在,UserToGroup充当桥接表。不幸的是,Items也可以用作桥接表——当然是错误的——但是结构暗示了这种关系。