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

SQL*_*Lol 5 database sqlite android android-room

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

我希望能够存储:

  • 练习列表及其属性

  • 锻炼项目及其属性列表(包含练习)

  • 记录的锻炼列表(锻炼和锻炼日期)

  • 每次记录的锻炼的所有组数据(锻炼次数、组数、每组重量、每组重复次数)

我已经制定了以下架构来说明如何实现这一点:

在此输入图像描述

我的主要问题是:

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

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

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

谢谢!

Mik*_*keT 1

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

很可能是的,例外情况是行数增长对响应时间产生不利影响。

锻炼类型和设备表应该分开还是只是锻炼表中的列?锻炼类型也是如此

它们应该是分开的,以减少不必要的重复和问题,例如,如果您要更改类型或设备,那么您必须将该更改应用到练习表中的所有行,并使用单独的表,您只需进行一项更改。

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

除了日志表(就目前情况而言,包括想要日期)之外,它似乎是一种良好且有效的方法。不需要日志表,因为日志条目表有一列用于日期时间(因此,响应评论是,最好使用日志条目中的日期/时间并取消日志桌子)。