健身锻炼日志应用程序的数据库架构

时间:2019-01-16 16:03:55

标签: android database sqlite android-room

我正在制作一个Android应用程序(我的第一个应用程序)来记录体育锻炼,但是我不确定如何最好地构建数据库来存储此数据。

我希望能够存储:

  • 练习及其属性列表

  • 锻炼及其属性(包含锻炼)的列表

  • 已记录的锻炼清单(锻炼和锻炼日期)

  • 每个已记录锻炼的所有设置数据(运动,套数,每组重量,每组代表)

我为实现这一目标制定了以下模式:

enter image description here

我的主要问题是:

  • 将所有单独的设置日志数据存储在单个表(日志条目)中是否最佳?

  • “锻炼类型”和“设备”表应该是分开的,还是仅仅是“锻炼表”中的列?锻炼类型也是如此

  • 就性能/可用性而言,这将是一个好方法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

  

将所有单独的设置日志数据存储在单个目录中是否最佳?   表(日志条目)?

从所有可能性上讲,是的,例外是如果行数增加对响应时间产生不利影响。

  

“锻炼类型”和“设备”表应该分开还是仅   练习表中的列?锻炼类型也是如此

它们应该分开,以减少不必要的重复和问题,例如如果您要更改类型或设备,则必须将该更改应用于锻炼表中的所有行,并使用单独的表,您只需要进行一次更改即可。

  

就性能/可用性而言,这将是一个好方法吗?

除了Log表(包括所需的日期)外,它似乎是一种很好且有效的方法。不需要Log表,因为Log Entries表中有日期时间列(因此,对于注释,是的,最好使用Log Entries中的日期/时间并删除日志表格)。