我很难理解下面这个应用程序的正确数据结构。虽然我相信这对这个领域的人来说是很标准的。
出于学习目的,我想创建一个锻炼日志应用程序。所以我的想法是能够每天记录一次特定的锻炼。
锻炼是由练习组成的。而且每个练习都有特定的属性。
例如。锻炼一是力量训练。所以我会做哑铃推,深蹲,…这些都是基于集合和动作的。因此,对于锻炼1,我需要能够输入每次锻炼的组数、次数和重量。
锻炼2是一个跑步环节。这是基于时间和距离的。因此,对于这项锻炼,我需要能够输入时间和距离。
对于这样的应用程序,我需要在数据库中拥有什么样的结构?
我想我应该做一个"练习"。表格那么这应该是" out "中的外键表格但是锻炼表如何适应不同的属性呢?以及条目数量的变化?(因为一次锻炼可以是一次、三次或十次)而且所有这些应该只构成一次"锻炼"的记录。表。
编辑:我试着想出一个结构。谁能确认一下这是正确的做法?
所以最终结果是下面的,对于人类表示:
最终结果(体育杂志)
锻炼是由练习组成的。每个练习都有自己的特点属性。
实现此目的的一种方法是拥有一个Workout表、一个Exercise表和一个Attribute表。维基百科文章"数据库规范化"将帮助您了解如何创建规范化的数据库。
我假设你不打算与练习共享属性。如果这样做,这将把练习和属性之间的一对多关系更改为多对多关系。您将需要一个连接表来为多对多关系建模。
Exercise表将为Workout表提供一个外键。Attribute表将为Exercise表提供一个外键。