篮球队/比赛/赛季得分的数据库. 表结构
我正在为一个篮球赛季创建一个数据库。目前,我保持简单,存储以下几个表:
-联赛 id[主键], 名称->(NBA, NCAAM等)
-年份 id[主键], league_id[外键], 年份->(2012-2013, 2011-2012等)
-球队 id[主键], league_id[外键], 名称->(公牛队, 湖人队等)
-比赛 id[主键], home_team[外键], away_team[外键]
-得分 id[主键], game_id[外键], 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
但我想从这里开始,建立一个基础的抓取算法,以及一些基本的统计数据。让我知道你们的想法。非常感谢!
2 个回答
我觉得“年份”和“得分”这两个表其实没必要。它们可以直接加到“游戏”表里,比如可以在“游戏”表中增加一个日期和一个赛季的字段。
另外,我也不明白为什么要在“联赛”表上生成自动递增的主键。光用联赛名称就完全可以了,或者干脆把“联赛”表去掉,直接在“团队”表的联赛字段中使用ENUM类型。
乍一看,我会把游戏的分数放在游戏表里,并添加一个游戏日期的字段。我会把年份的表改名为“赛季”,并包含开始和结束的日期。同时,也可以考虑在游戏表里加一个赛季的ID。