【问题标题】:Database for Basketball teams/games/scores per season. Table structure每个赛季篮球队/比赛/得分的数据库。表结构
【发布时间】:2013-03-02 12:29:28
【问题描述】:

我正在为篮球赛季创建一个数据库。在这一点上,我保持简单,并存储表格:

-联赛 id[PK]、名称->(NBA、NCAAM 等)

-年份 id[PK], League_id[FK], year->(2012-2013, 2011-2012, etc)

-球队 id[PK], League_id[FK], name->(Bulls, Lakers, Etc)

-比赛 id[PK], home_team[FK], away_team[FK]

-得分 id[PK], game_id[FK], home_score, away_score

我的问题是关于表结构的。我对 sql 有点陌生,但我希望能够根据数据库信息进行计算。例如:

A队在客场对阵B队,A队的客场平均得分为x,B队的主场平均得分为y...等等

你看到的任何尖叫都不要那样做?只是想让你们快速看一下。

最终想开发一个类似这样的跨运动数据库:

http://www.bc.edu/content/dam/files/schools/cas_sites/cs/local/bach/2008/08LawrenceChang.pdf

但是想从这里开始获取基本的抓取算法,以及一些基本的统计数据。让我知道你的想法。非常感谢!

【问题讨论】:

    标签: python mysql sql relational-database


    【解决方案1】:

    乍一看,我会将分数放在游戏表中并添加一个游戏日期字段。我会将年表重命名为季节,并包括开始和停止日期。还可以考虑在游戏表中添加季节 ID。

    【讨论】:

    • 你说得对。游戏可以只有 home_team、home_score 等。还会在 Season 表中放入 2 个日期字段,用于赛季开始和结束,肯定有助于区分 2013 年的一个赛季结束和 2013 年的下一个赛季开始!太棒了!
    【解决方案2】:

    对我来说,年份表和分数表似乎都没有必要。它们可以很容易地添加到游戏表中(包括年份的日期和季节字段)。

    我也不明白为什么需要在 League 表上生成自增主键。联赛名称本身就可以很好地工作,或者更好的是完全摆脱联赛表,只需在团队表的联赛字段上使用ENUM。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-17
      • 1970-01-01
      • 1970-01-01
      • 2019-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多