我正在为我国的足球博彩游戏创建一个在线社区.我非常清楚整个系统应该如何工作但我在找出理想的数据库设计时遇到了一些麻烦,我需要一些帮助.
通常的工作流程应该是这样的:
欢迎大家注册成为会员; 每个成员都应该有一个名字,电子邮件地址和密码.
每周都会开设一个新的投注比赛,每个比赛都有一组固定的"问题"(在这种情况下,每个"问题"基本上都是"主队 - 访问团队"的形式).
每个成员都可以自由地以"1 X 2"(1:Home Wins,X:Draw,2:Visiting Wins; 对于每个"问题")的形式对所有可用的公开竞赛以及一定数量的金额进行预测(见第5点).每次比赛只允许一次预测.
在每周结束时,所有比赛都将结束,并根据所有个人投注和每个成员的表现进行实际投注(另请参阅此相关问题).已下注的赌注应公开供所有人查看.
当所有比赛的结果都已知时,应该可以"附上"(抱歉,我错过了这个词)奖金的金额(当然,如果社区运气好的话).然后,奖金应按比例除以每个团队成员对赌注的金额.
每个成员可以在任何给定时间存入或从其账户中提取可变数额的资金,还应该有一个交易页面,其中显示所有存款,奖品和提款.
奖金问题:由于我在"SEO友好"网址上仍然非常环保,我也有兴趣了解如何命名该系统中涉及的所有细分.
我非常感谢设计可以适应整个场景的数据库架构的任何帮助.
PS:我会为这个问题打开奖金,我目前在互联网连接上遇到了一些问题,所以我可能需要一些时间来阅读/评论你的答案.
提前致谢!
这是一项艰巨的任务,但这是我的尝试:
Members
表存储成员数据; 包括PerformanceFactor
根据一个人答案的正确性定期重新计算的内容.
Transactions
表跟踪每个成员的存款和取款.该Type
字段可以是1 =存款,2 =取款,3 =从奖金转移.
一个比赛可以有很多问题,一个问题只属于一个比赛.
一个成员可以放置许多成员投注,成员投注仅属于一个成员.放置UNIQUE约束MemberID, ContestID
以防止成员为特定比赛下几个赌注
一个成员下注有几个答案,每个答案只属于一个成员下注; 每个答案都与一个问题有关.放置UNIQUE约束MemberBetID, QuestionID
以防止成员为特定问题放置多个答案.
DerivedAnswers
表格包含通过特定比赛的成员答案的"统计分析"获得的答案.放置UNIQUE约束ContestID, QuestionID
以防止重复特定问题的答案.