首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为多项运动设计体育统计数据库?

如何为多项运动设计体育统计数据库?
EN

Stack Overflow用户
提问于 2010-12-09 23:16:11
回答 7查看 28.4K关注 0票数 7

我试图设计一个数据库来存储多种类型运动的运动员统计数据。

在数据库里,你会有一群玩家。每名队员都属于一支球队,每支球队都参加一项运动。以下是我到目前为止为这部分准备的桌子:

球员(Player_ID,Team_ID,FirstName,LastName)

团队(Team_ID,Sport_ID,TeamName)

体育(Sport_ID,SportName)

现在我想存储玩家的统计数据。我遇到了一个问题,不同的球员玩不同的运动,因此必须存储不同类型的统计数据为每项运动。例如,如果我储存曲棍球运动员和棒球运动员的话:

  • 对于曲棍球运动员,我想储存进球和助攻。
  • 对于棒球运动员,我想存储点击率、全垒打和打分。

是否有适当的方法来使用一个数据库来做这样的事情?我开始的路对不对?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-12-09 23:19:22

正确的方法是制作多张桌子,每项运动都有一张桌子。

球员(Player_ID,FirstName,LastName)

团队(Team_ID,Sport_ID,TeamName)

TeamList (Team_ID,Player_ID)

体育(Sport_ID,SportName)

HockeyStats (Player_ID,Team_ID,年份,进球,GamesPlayed,助攻)

BaseBallStats (Player_ID,Team_ID,Years,BoringSport)

这也解决了交易的情况,哪支球队得到的分数,以及多项运动。

票数 7
EN

Stack Overflow用户

发布于 2012-04-20 21:39:40

您可以从运动队b获得灵感,这是一个由XML创建的体育建模的rdbms模式。在该模式中,游戏和玩家统计数据存储在非规范化表中,核心统计数据(如得分)与特定运动的统计数据保持分离。这个模式非常复杂,但是可以给您一个可能的实现的想法。

票数 8
EN

Stack Overflow用户

发布于 2010-12-09 23:29:37

另一种方法是带有一个统计信息ID列的单个表,标识在该行中描述的统计信息。如果要保存的统计数据会随着时间的推移而改变,这可能会很好。只有当每个统计数据的基本形式是相同的(对不起,我是英国人,不熟悉你提到的体育和统计数据)时,它才能很好地工作,但是有多表小变量(一个表中的所有百分比统计,另一个表中的所有简单计数统计,等等)。

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

https://stackoverflow.com/questions/4404118

复制
相关文章

相似问题

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