我正在制作一个应用程序,允许用户输入饮食和锻炼信息,随着时间的推移跟踪它并输出关于他们输入的数据的图表和图表。现在我正试图想出一个结构一部分(练习部分)。
第一列是日期(条目的日期)。然后在那之后的每一列都将是一个练习,然后是该练习的重量,他们所做的代表的数量,以及多少套。以下是一个人可能进入的一天的例子。
'date' = '1/13/2014'
'entries = {'Bent Over Row(Barbell)': [['1', '6', '135'], ['1', '5', '155']], 'Deadlift': [['1', '4', '315'], ['1', '2', '315']]}
练习当然会每天都在变化,一个人不会在一天内完成所有可能的练习。
我的问题:
除了针对该练习的代表,重量和集合的列之外,我是否应该为每个练习添加一列? (每次运动总共4次)。
现在我有20个可能的练习(我打算稍后再添加),这将是我的表中包含日期列的总共101列。这似乎与...合作会有问题吗?我错了吗?或者表通常这么大吗? (可能会很快加倍,到200多列)
我应该如何应对那天没人做的表格中的练习?只需输入'NULL'或'N / A'?
我如何处理一天内做同样运动的人?我完全失去了这个。 假设一个人以不同的重量和代表进行两次深蹲,我觉得我需要输入一个列表到表中。有没有更好的方法呢?
提前感谢您的回复。
答案 0 :(得分:1)
您应该尽量使表格结构平坦,即绝对不是每个练习/设置/代表的列。我建议两个表:
您不需要在每个练习的事件中都有条目,只需要在该练习中有条目,您可以轻松地将表格中的条目组合在一起。用于报告的ExerciseID或日期。如果他们在一天内多次进行同样的练习,那么在事件中有多个条目。
Exercises
---
ID Name
1 Dead lift
2 Bent over row (barbell)
...
Events
---
ID Date ExerciseID Weight Sets Reps
1 13/1/2014 2 135 1 6
2 13/1/2014 2 155 1 5
3 13/1/2014 1 315 1 4
...