我想设计一个sql数据库。基本上,用户登录并可以查看他们已完成的事件以及结果的年份。例如,用户在2008,2009和2011年完成了山地自行车赛事。他在2006,2008和2010年完成了道路马拉松赛事。用户登录网站并可以查看不同赛事的结果他已经完成了多年。我需要为此绘制一个SQL结构。
任何帮助将不胜感激
是的,谢谢你的回答。我想出了类似的结构。但问题是每个事件都会在多年内发生,结果不同。例如,山地自行车赛每年都有不同的用户和不同的结果。我需要一个结构,一切都是动态的。例如Bob登录。他选择去看他去年(2010年),山地自行车赛,马拉松赛以及他在2010年所做的赛事中取得的所有赛事。在赛事表中如果你有一个公路自行车赛的名字2010年的日期和一个山地自行车活动也将在2010年复制。对困惑感到抱歉。但是为了使系统动态化并且用户能够看到例如仅查看他从不同年份的Mountain循环事件中获得的结果,或者查看他在特定年份所做的所有事件以及结果。
答案 0 :(得分:2)
你可能会使用3个表:
<强>事件强>
用户强>
<强>结果
您可能不需要Results表中的ResultID字段,您可能会使用EventID和UserID来使用复合键,但我个人更喜欢使用主键。
我的解决方案还假设所有这些事件的结果都是按时间排序的(因此他们都是'你在x分钟内完成'而不是'你赢了2个')。