【发布时间】:2013-02-22 21:23:17
【问题描述】:
我有一个会员网站,每个用户每天都可以对足球比赛进行多次投注。这个想法是总结每一天的点,计算它们并将它们显示在图表中(使用谷歌图表API)。到目前为止一切都很好。每天都会为每个用户计算新积分,并与过去几天的积分一起显示在图表上。这样用户就可以在曲线或图形中看到他过去的结果。我唯一的猜测是制作一个带有 ID - 用户名 - 点数 - 回合的表格。我不希望我的数据库因我的表和查询构造不佳而受到影响。
所以我的问题是:我应该如何在我的数据库中进行设置?
这是我现在的桌子:
表 -> 成员
ID
名字
姓
用户名
密码
(我虚构的桌子)。
表 -> MEMBERS_POINTS
ID
用户名
积分
回合
所以我设置了一个查询,从所需的回合中获取用户积分。这是好方法吗?这会减慢我的数据库速度吗?每个用户将玩 30 轮,如果有几个用户,表格可能会包含数千行。
找一个帖子here,但我没有任何答案,我有一些不同的想法。
编辑
这是一个会员网站,每个注册用户都必须一次下所有 60 个赌注,这 60 个赌注在 30 天内分配(我称之为回合)。每轮包括 2 个投注,最多 6 分。总分将与领导者一起显示,并与每天的获胜者一起显示。每个用户都应该能够以图表的形式查看他或她过去的分数。
1 位用户 = 60 次投注 = 30 天(回合。总积分和每天的积分记录。
【问题讨论】:
-
我肯定有一个日期时间字段,表示您的 members_point 表中的点和回合发生时间,因此您可以按天、按周、按月等查询...
-
回合数与天数有何关系?用户可以有多个 30 轮的“游戏”吗?您确实需要解释要表示的单个离散对象以及它们之间的关系。我想您还需要每轮投注/行动的表格吗?
-
尝试用现实世界的术语来解释(例如“应用程序将有任意数量的成员,每个成员可以有很多游戏,每个游戏可以有很多轮,每轮可以有 X 个投注/行动,每轮需要 1 天。我想在每场比赛、每轮和/或每天为每个用户汇总积分”)您的基本起点应该是您拥有的任何单个项目(用户、需要以一对多或多对多的方式与其他项目相关的游戏,回合)应该有自己的表格。
标签: mysql database database-design