首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL多对多设计

SQL多对多设计
EN

Stack Overflow用户
提问于 2016-02-28 18:16:36
回答 2查看 68关注 0票数 1

好吧,所以我很可能会因为懒惰而自己不去研究这件事而被宰了--但是我就是不能把我的头绕过去,这会让我的大脑受伤。我相信对你们中的一些人来说,这是一个非常基本的问题。

我有一个Excel表格,里面有足球运动员和他们的属性.

玩家表

另一支有六人一队的足球队,有六名球员在六个位置.

团队表

我希望能够将这两个表链接起来,这样我就可以根据球员属性来生成团队属性,然后对团队的质量(即最佳传球队、最拼搏的球队等等)进行查询。

在Excel中,我只需将player表中的vlookup添加到teams表中,然后将球员属性的各种组合相加。

然而,在SQL中似乎很复杂--即每支球队都有许多球员,任何一名球员都可以在多个球队中,任何一名球员都可以在多个不同的位置上踢球。球员所处的位置会影响球队属性的权重(也就是说,与进攻中场相比,后卫对球队创造力的贡献要小得多,对球队攻防能力的贡献要比前锋大)。我想我需要一个中间连接表,还是几张?或者也许这只是简单呢?

有人有什么建议吗?

谢谢你

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-28 20:37:54

如果我听到你的问题,答案如下。您将有一张供球员使用的桌子(PlayerID,PlayerName,PlayerAtribbute1,.),为球队准备的桌子(TeamId,TeamName,HomeTown,.)以及两个连接的中间表(PlayerId,TeamId,Position,.)。最后一个中间表用于SQL和数据库设计,以表示多到多的关系.

如果采用这种方法,还应该在Player表中索引PlayerId,在Teams表中索引TeamID,并且在中间表中有一个复合索引(PlayerId,TeamID),并且您应该是金色的。

票数 3
EN

Stack Overflow用户

发布于 2016-02-29 10:34:20

在我看来,拼图中缺失的部分是连接表中的综合索引(由S Karras提供)。我现在可以把它向前推进,看看它是如何进展的。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35686372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档