我正在尝试设计一个数据库来存储多种运动的球员统计数据.
在数据库中,你会有一堆玩家.每个球员属于一个球队,每个球队都参加一项运动.到目前为止,这是我所拥有的表格:
播放器(Player_ID,Team_ID,FirstName,LastName)
团队(Team_ID,Sport_ID,TeamName)
运动(Sport_ID,SportName)
现在我想存储玩家的统计数据.我遇到了不同运动员参加不同运动的问题,因此必须为每项运动存储不同类型的统计数据.如果我存储曲棍球运动员和棒球运动员,例如:
对于曲棍球运动员我想存储目标和助攻
对于棒球运动员我想要存储命中,本垒打和打点.
有没有一种正确的方法来使用一个数据库做这样的事情?我有没有开始正确的方式?
正确的方法是制作多张桌子,每项运动似乎都有一张桌子。
球员(Player_ID,名字,姓氏)
球队(Team_ID,Sport_ID,TeamName)
球队名单(Team_ID,Player_ID)
Sport(Sport_ID,SportName)
HockeyStats(Player_ID,Team_ID,Year,目标,GamesPlayed,Assists)
BaseBallStats(Player_ID,Team_ID,Years,无聊的运动)
这也解决了交易情况,即从中获得积分的团队以及多项运动。