【发布时间】:2018-12-19 08:14:56
【问题描述】:
我不确定这是否是我想要做的最好的结构。
我有 2 张桌子。
名为 Team 的第一个表包含 3 列,Team ID、Team Name 和 Kit Colour。此表仅包含有关团队的数据。
第二个表名为玩家名称,包含 3 列,玩家 ID、玩家名称和团队 ID。更多列将很快添加。玩家表仅与玩家有关。团队 ID 是将两个表链接在一起的外键。一个团队最多只能有 15 名球员,因此每支球队可以有 15 名球员参赛。
可以有数千支球队,每支球队最多有 15 名球员。
我有一个需要填写的横向报告,如下所示:
Team Name | Player 1 Name | Player 2 Name | Player 3 Name....| Player Name 15
我的问题是,我为报表设置了这个最好的表结构吗?考虑到绩效,我如何获取某个团队的数据?例如,我想要 A 队及其所有球员的信息。可以有15个玩家。如果我可以在一个 select 语句中从左到右显示信息,我可以轻松填写报告,但如果不使用可能会对性能产生负面影响的多重选择,则无法做到这一点。
建议的另一个表结构是将两个表连接在一起而不是 2 个表。每个玩家及其属性的列也会有一个列,但这看起来不正确,因为表格会很大并且可以添加更多玩家属性。
我正在使用 SQL 2008
【问题讨论】:
标签: sql sql-server-2008