我正在努力创建一个梦幻足球网站。我正在尝试制定表结构,我正在寻找建议。
到目前为止我所拥有的:
usertable - > User Info
playertable - > Player Info
userleaguetable - > User League Info
matchtable - > Match Info
clubtable - > Club Info
然后将完成所有工作的两个表:
scoringtable
每周球员记录将被添加到桌面,目标数量,比赛时间,预定,比赛中等等。
因此该表会变得非常大:num_players * num_weeks
userteamtable
用户团队中的玩家每周都会被添加到桌面,哪个玩家和哪个队长
因此该表(希望)也会变得非常大:num_users * 11 * num_weeks
为什么我想用这条路走这条路是因为每个用户团队都会有一周一周的记录,每个玩家都有积分等等。
基本上就是这样,我关心的是表大小,我的意思是如果最终有1000个用户每周会有10000行添加到数据库中
任何人对我都有任何建议吗?
答案 0 :(得分:0)
也许得分表每周应该有一行,并且该玩家具有唯一的标识符。这样,在得分表中,每位玩家有1条记录,其中52条代表本赛季的52周。每周您只需根据玩家的唯一标识找到评分记录,并使用该周评分更新该记录。
这样,你不会每周为每位玩家添加一条记录,你在1个赛季中每位玩家有1条记录,它可能如下所示:
对于下一季,您会添加另一条记录,但会更改季节数。在2个赛季中,每位玩家只有2条记录,依此类推。例如:
Bob the Player(ID 2450),第1季,第1周得分= 50,第2周得分= 100等。
Player ID | Season ID | Week 1 | Week 2 | Week 3 | and so on..
-------------------------------------------------------------------
2450-------|----- 1------|---50---|---100--|--150----
希望这可以帮助您以更有效的方式查看数据库的其余部分。祝你好运!
还想提一下,如果你每周存储多个值,只需以这种方式存储它们:
目标很多:5 他打了多长时间:15分钟 预订:500 比赛的人:1或0
| Week 1 |
---------------
|5,15min,500,1|
比赛的人可以简单地为1或0值,给MVP赋值1,给其余值0,在上面的例子中,这个玩家是匹配的人,因为最后一个值是1。 / p>
当您的PHP读取第1周数据时,只需使用逗号将其展开,即可为每周创建一个值数组。