对于我所在的一家体育俱乐部,我想在网站上用MySQL管理一个排名列表。
我们有一个比赛系统,球员可以参加(或不参加)一周一次,并获得积分。以某种方式处理这些积分,并应在网站上创建一个排名列表。
我对MySQL没有太多经验,所以我想知道我想到的系统是好的还是其他方法更好。
我想有两张桌子:
players
-------
ID (unique primary key)
Name
Surname
+other arbitrary stuff
tournaments
-----------
ID (unique primary key)
Date
player (secondary key, points to player ID)
+ columns for results of that player in this particular tournament
在网站上,我会查询锦标赛表,排序ID和球员,并处理结果,以计算排名列表。
这是一个好的方法还是有更好、更方便的方法?
最佳答案
以后你可能会发现再多一张桌子会更方便。
我想把你的比赛桌改成:
tournaments
-----------
ID (unique primary key)
Date
~Location
~+Other stuff about the tournament as a whole
然后添加一个表:
results
-----------
player_id (points to player ID)
tournament_id (points to tournament ID)
+results
原因是这样可以更容易地过滤单个比赛,而且许多玩家可以共享相同的比赛信息,而不必复制每个玩家的结果。
关于php - 使用MySQL管理排名列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22478977/