在 SQL 中将一周或一天保留在表的一行中更好?



我正在做一个系统,可以保持用户的存在,你知道,如果他们在那一天。

我只是想知道在表的行中保留大约一周的数据还是每行仅保留一天更实用。

如果每行一周,它将具有以下属性:

用户 : varChar
第 1 天(星期日(:日期时间 第2天(星期一(:日期时间 ...
第7天(星期六(:日期时间

如果是每天:

用户 : varChar
日期 : 日期时间
存在 : 布尔值

所以?你觉得怎么样?

*假设您使用的是MySQL,或具有内置日期/时间类型的数据库。

如果您希望将来具有最大的灵活性(因为您无法预测如何使用此数据(,请将日期/时间间隔设置为通用:在数据库中存储"状态条目",指示用户何时存在。 它将具有这样的结构:

表presence_entries user_id (整数( |来自 (MySQL 日期时间( |to (MySQL DateTime(

这很好,因为如果用户每天或每周出现多个时间间隔,则可以在报表中捕获所有间隔。 将来,如果您想将报告更改为每两周或每月一次,没问题。

相关内容

最新更新