锻炼日志的正确数据结构是什么?



我很难理解下面这个应用程序的正确数据结构。虽然我相信这对这个领域的人来说是很标准的。

出于学习目的,我想创建一个锻炼日志应用程序。所以我的想法是能够每天记录一次特定的锻炼。

锻炼是由练习组成的。而且每个练习都有特定的属性。

例如。锻炼一是力量训练。所以我会做哑铃推,深蹲,…这些都是基于集合和动作的。因此,对于锻炼1,我需要能够输入每次锻炼的组数、次数和重量。

锻炼2是一个跑步环节。这是基于时间和距离的。因此,对于这项锻炼,我需要能够输入时间和距离。

对于这样的应用程序,我需要在数据库中拥有什么样的结构?

我想我应该做一个"练习"。表格那么这应该是" out "中的外键表格但是锻炼表如何适应不同的属性呢?以及条目数量的变化?(因为一次锻炼可以是一次、三次或十次)而且所有这些应该只构成一次"锻炼"的记录。表。

编辑:我试着想出一个结构。谁能确认一下这是正确的做法?

所以最终结果是下面的,对于人类表示:

最终结果(体育杂志)

<表类>日期时间戳练习1集代表重量运动2时间距离锻炼3集代表重量tbody><<tr>12082110.30卧推51040运行60400空空空空12082117.00卧推51040空空空蹲35120

锻炼是由练习组成的。每个练习都有自己的特点属性。

实现此目的的一种方法是拥有一个Workout表、一个Exercise表和一个Attribute表。维基百科文章"数据库规范化"将帮助您了解如何创建规范化的数据库。

我假设你不打算与练习共享属性。如果这样做,这将把练习和属性之间的一对多关系更改为多对多关系。您将需要一个连接表来为多对多关系建模。

Exercise表将为Workout表提供一个外键。Attribute表将为Exercise表提供一个外键。

最新更新