SQL如何确定关系是否为多对多

标签 sql database many-to-many relationships

我正在尝试理解多对多关系。我已阅读有关此主题的文章,但仍未理解。

我们以团队和玩家为例。一支球队可以有多名球员,但一名球员只能在一支球队打球?我知道这是不正确的,但我不明白为什么。

确定表之间关系的正确方法是什么? 我应该问什么问题(从球员那边和球队)来找出关系?

不确定我的第二个问题是否足够清楚。

感谢帮助

最佳答案

也许最好的观察方式是将所有球队画在一侧,将所有球员画在另一侧,并将它们之间的关系画成直线。

如果没有玩家(也不能)连接到多个团队,即每个玩家最多有一条线离开,那么它与团队有一对一关系。 p>

如果团队(或可以)连接到多个玩家,即每个团队可以有多条线路连接到多个玩家,那么它与玩家有对多关系.

因此,通常情况下,球队与球员的关系是一对多。一个团队共享许多球员,而球员只是一个团队的一部分。

关于SQL如何确定关系是否为多对多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22583239/

相关文章:

java - 向外部 H2 数据库添加聚合函数

mysql - MySQL 长表的唯一随机字符串的最佳方法

Django基于M2M关系上的多个字段注释多个对象

python - 多对多字段 django 以两种方式添加关系

sql - 如何检查 SQL 表中的数据完整性?

sql - PostgreSQL 中 "when"处或附近的语法错误

sql - 选择查询需要更长的时间才能返回结果

sql - 通过 Microsoft SSIS 包创建/更新 Postgresql 表

database - 显示数据库语句是 DDL、DML 还是其他?

c# - 如何在 ASP.NET Core 5 中使用 IdentityUser 和 IdentityRole 之间的隐式多对多