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

时间:2014-03-22 20:36:52

标签: sql database many-to-many relationships

我想了解很多很多关系。我已阅读有关此主题的文章,但我仍然没有得到它。

让我们以团队和球员为例。一支球队可以拥有多名球员,但一名球员只能参加一支球队?我知道它不正确,但我不明白为什么。

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

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

感谢您的帮助

2 个答案:

答案 0 :(得分:4)

看待它的最佳方式也许是一方面绘制所有球队,另一方面绘制所有球员,并将它们之间的关系画成线条。

如果没有球员(也不可能)连接到多个球队,即每个球员最多只有一条线路离开,那么它与球队之间存在 to-one 关系。

如果球队(或可以)连接到多个球员,即每支球队可以有多条线路将其加入多个球员,那么它与球员之间存在 to-many 关系

通常情况下,团队与玩家之间存在一对多关系。一支球队分享了很多球员,球员只属于一支球队。

答案 1 :(得分:1)

这是一个很好的多对多关系示例:汽车类型可以在许多经销商处销售,经销商可以销售多种类型的汽车。

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