Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 健身房锻炼日志应用程序的数据库架构_Android_Database_Sqlite_Android Room - Fatal编程技术网

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

Android 健身房锻炼日志应用程序的数据库架构,android,database,sqlite,android-room,Android,Database,Sqlite,Android Room,我正在制作一个android应用程序(我的第一个)来记录健身房的训练,但我不确定如何最好地构建数据库来存储这些数据 我希望能够存储: 练习及其属性的列表 训练及其属性列表(包含练习) 记录的训练列表(训练和训练日期) 每次记录训练的所有设定数据(运动、组数、每组重量、每组重复次数) 我已经为如何实现这一目标制定了以下方案: 我的主要问题是: 将所有单个集合日志数据存储在单个表(日志条目)中是否最佳 练习类型表和设备表应该是单独的还是仅列在练习表中?锻炼类型也是如此 就性能/可用性而言,这

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

我希望能够存储:

  • 练习及其属性的列表

  • 训练及其属性列表(包含练习)

  • 记录的训练列表(训练和训练日期)

  • 每次记录训练的所有设定数据(运动、组数、每组重量、每组重复次数)

我已经为如何实现这一目标制定了以下方案:

我的主要问题是:

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

  • 练习类型表和设备表应该是单独的还是仅列在练习表中?锻炼类型也是如此

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

谢谢

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

在所有可能的情况下,如果行数增加对响应时间产生不利影响,则会出现例外

运动类型和装备表是分开的还是仅仅是一个 练习表中的列?锻炼类型也是如此

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

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


除了日志表(目前的情况包括需要日期)之外,它似乎是一种良好而有效的方法。日志表是不需要的,因为日志条目表有一列日期时间(因此在回答“是”的评论时,最好使用日志条目中的日期/时间,并删除日志表)。

为什么日志和日志条目要分开使用表?我希望有一个特定训练完成日期的记录,也就是说,可以在日历视图中滚动查看我在第Y天做了X次训练。在日志条目表中输入训练id并查询该表中的训练完成日期是否更好?那么我猜模式很好。我想象一个普通用户每周会在日志条目表中创建约100个条目-这可能吗在几年内影响绩效?如果是这样的话,解决方案是每次达到一定大小时创建一个新的日志条目表吗?@SQLol即使每天100个,甚至每小时一个,在很多年内都不会出现问题。10万行不算大,现在应该很容易管理。