我正在尝试理解多对多关系。我已阅读有关此主题的文章,但仍未理解。
我们以团队和玩家为例。一支球队可以有多名球员,但一名球员只能在一支球队打球?我知道这是不正确的,但我不明白为什么。
确定表之间关系的正确方法是什么? 我应该问什么问题(从球员那边和球队)来找出关系?
不确定我的第二个问题是否足够清楚。
感谢帮助
最佳答案
也许最好的观察方式是将所有球队画在一侧,将所有球员画在另一侧,并将它们之间的关系画成直线。
如果没有玩家(也不能)连接到多个团队,即每个玩家最多有一条线离开,那么它与团队有一对一关系。 p>
如果团队(或可以)连接到多个玩家,即每个团队可以有多条线路连接到多个玩家,那么它与玩家有对多关系.
因此,通常情况下,球队与球员的关系是一对多。一个团队共享许多球员,而球员只是一个团队的一部分。
关于SQL如何确定关系是否为多对多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22583239/