儿童家务模式的数据库设计
Posted
技术标签:
【中文标题】儿童家务模式的数据库设计【英文标题】:Database design for kids chore schema 【发布时间】:2017-11-09 09:23:18 【问题描述】:我想知道保持数据库尽可能整洁的最佳做法。该数据库是由 express.js/node 访问的 postgresql。它适用于我正在开发的儿童杂务应用程序,它具有以下架构:
CHILDREN
id
name
points
rate
created_at
updated_at
user_id
TASKS
id
description
value
days (boolean array - eg. [0,0,0,0,0,0,0])
periods (boolean array - eg. [0,0])
created_at
updated_at
user_id
FINISHED TASKS
id
task_id
child_id
completed (boolean)
created_at
updated_at
period (boolean)
day (int (0-6))
对于每个完成的任务,都会在数据库中创建一行。那里只有 400 个孩子做家务,每天已经有大约 800 行添加到 FINISHED TASKS
表中。
我有两个问题:
-
有没有更有效的方法来存储
FINISHED TASKS
每个孩子一整天或类似的时间?
随着规模的扩大,我最终可能会每天处理数万行 - 这对于这样的应用程序是否可以接受?
【问题讨论】:
【参考方案1】:通过中间桥接表拥有与任务表相关的子表是执行此操作的常用方法。我对大型医院应用程序的经验是,一旦表开始有数百万行并且性能下降,应用程序通常会将“完成的任务”归档到单独的归档表中。您可能最终会得到两个表,一个称为“活动任务”,其中包含“已完成”为假的任务,一旦任务完成,该行将移动到存档的“已完成任务”表中。
根据您希望在未来对应用程序进行校对方面付出多少努力,现在可以这样做,以防止不得不重新访问。
【讨论】:
以上是关于儿童家务模式的数据库设计的主要内容,如果未能解决你的问题,请参考以下文章
我们可以在专为儿童设计的 iOS 应用中使用 Firebase 吗?
计算机毕业设计springboot+vue+elementUI留守儿童爱心捐赠网站
计算机毕业设计之java+springboot基于vue的留守儿童爱心网站