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

SQL如何确定关系是否为多对多,sql,database,many-to-many,relationships,Sql,Database,Many To Many,Relationships,我试图理解多对多的关系。我读过关于这个话题的文章,但我还是不明白 让我们以团队和球员为例。一个队可以有多个球员,但一个球员只能在一个队比赛?我知道这是不对的,但我不明白为什么 确定表之间关系的正确方法是什么? 我应该问什么问题(从球员和球队的角度)来找出关系 我不确定我的第二个问题是否足够清楚 感谢您的帮助也许最好的方法是将所有球队都画在一边,所有球员都画在另一边,并将他们之间的关系画成一条线 如果没有(也不能)玩家连接到多个团队,即每个玩家最多只剩下一条线,那么它与团队之间存在一对一的关系 如

我试图理解多对多的关系。我读过关于这个话题的文章,但我还是不明白

让我们以团队和球员为例。一个队可以有多个球员,但一个球员只能在一个队比赛?我知道这是不对的,但我不明白为什么

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

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


感谢您的帮助

也许最好的方法是将所有球队都画在一边,所有球员都画在另一边,并将他们之间的关系画成一条线

如果没有(也不能)玩家连接到多个团队,即每个玩家最多只剩下一条线,那么它与团队之间存在一对一的关系

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


因此,通常情况下,球队与球员之间有一对多的关系。一个团队拥有许多玩家,而玩家只是一个团队的一部分。

这里有一个很好的多对多关系示例:一种车型可以在多个经销商处销售,而经销商可以销售多种车型


以下是一个很好的一对多关系,使用相同的对象作为示例:具有唯一VIN的车型可以在一个经销商处销售,并且经销商可以销售具有唯一VIN的多种不同车型。

我想我明白了。假设我有分类(个人、工作…)和笔记。一个类别可以有多个注释,并且一个注释属于一个类别。是吗?如果类别是相互排斥的,那是正确的,是的。(否则,一张便笺可以分为多个类别。)天哪,几个小时以来,我一直在努力解决这个问题,现在一切都清楚了。如果许多便笺可以分为多个类别,你会如何解决?使用两个表中的FK创建新表(如类别_详情)?这意味着一个类别可以有多个类别详细信息,而多个类别详细信息可以属于一个注释?谢谢。是的,对于多对多关系来说,有一个这样的额外表正是标准解决方案。