我有一个树状结构的数据存储,用于每小时录制一场比赛。我有一个文件夹树,格式为:用户名/年/月/日期/时间.csv
我的目标是将其替换为:
- SERVER提供用户登录的服务器。
- UserExperience将记录在一小时内获得的所有技能经验(以及数量)。这是一小时的总和。
- 这是一个我真的不确定的东西:UserActivites。这可能是在一小时内发生的一些事件的可变文本(“我将X技能提升到Y级”,“我杀死了Z许多头目A”,“我完成了任务B”)以及更多的事件,这些事件是在加班后添加和删除的,所以我不能准确地制作主键。我不知道这里能做些什么。
我也不确定如何查询两个日期之间的某组用户的统计数据,但这是另一个问题。
1条答案
按热度按时间cuxqih211#
因此,活动(在UserActivites中)总是与(随着时间的推移可能会增加)活动查找表相关的活动。活动的文本表示位于Actitions表中,您只需从UserActitivity表中链接到它--到目前为止似乎还可以。您已经有一个外键从UserActivities.ActivityID指向Activities.ActivityID(UserName指向UserStatus也是如此)?
日期时间只是一个时间点--不需要将其放入某种组合索引中(就像主键一样)。不过,您可以在将来为DateTime建立索引,以获得更好的查询性能。
我会做的是:
ID INTEGER PRIMARY KEY
)中创建一个无意义的、自动递增的整数主键你应该考虑的事情:
这样,您的数据设计看起来很不错。你提到了关于用户活动的*“并删除了加班”*(如果我理解正确的话)。如果是这样的话,我会在UserActiactive中为已删除记录创建一个布尔列。这样,您就可以分析已删除的活动。在数据库中创建记录后,i永远不会删除这些记录。