【发布时间】:2014-05-01 10:24:56
【问题描述】:
我正在尝试创建一个数据库架构,我可以在其中存储体育联盟的统计数据,其中每场比赛都有球队统计数据。
我有以下:
Home Team | Away Team | Venue | Home stat #1 | Away stat #1 | Home stat #2 | Away stat #2 | ... | Home stat #n | Away stat #n
有不止两个统计数据。例如,一项统计数据可能是进球数,一项数据可能是射门次数。主队和客队都记录了相同类别的统计数据,但它们不相关(例如,无法通过知道客队进球数来找到主队进球数)。
存储它的最佳架构是什么?
此刻,我在想:
Teams(TeamID, TeamName)
Venues(VenueID, VenueName)
Games(GameID, HomeTeamID, AwayTeamID, VenueID)
Stats(GameID, TeamID, Stat#1, Stat#2, ... , Stat#n)
这避免了在不同的列中复制主队和客队的每个统计数据,如果我想在“比赛”表中包含所有内容,我必须这样做。我不确定这个良好的架构设计是否并且希望得到任何反馈。
【问题讨论】:
-
您当前的设计看起来不错。你有多少个
Stat字段?以后还会添加更多吗? -
我目前有 18 个统计数据,以后不打算再添加,但我想这是可能的。
-
我只是想检查一下您不会经常添加统计信息,在这种情况下,最好将它们存储为行数据。最好将统计信息作为表格字段。
标签: sql database-design database-schema