database - 在SQL中的一个表的一行中保留一周或一天比较好?
问题描述
我正在做一个系统来保持用户的存在,你知道,如果他们在那一天。
我只是想知道将整整一周的数据保留在表格的行中还是每行仅保留一天的数据是否更实用。
如果每行是一周,它将具有以下属性:
用户:varChar
第 1 天(星期日):dateTime 第 2 天(星期一):dateTime ...
第 7 天(星期六):dateTime
如果是每天:
用户:varChar
日期:dateTime
存在:布尔值
所以?你怎么看?
解决方案
*假设您使用的是 MySQL,或具有内置日期/时间类型的数据库。
如果您希望在未来获得最大的灵活性(因为您无法预测如何使用这些数据),则将日期/时间间隔设为通用:将“存在条目”存储在数据库中,以指示用户何时存在。它会有这样的结构:
表存在_条目 user_id (int) | 来自(MySQL 日期时间)| 到(MySQL 日期时间)
这很好,因为如果用户每天或每周在多个时间间隔出现,您可以将它们全部记录在报告中。将来,如果您想将报告更改为双周或每月,没问题。
推荐阅读
- python - 如何用列名中的非标准字符替换 PySpark 中所有列的值?
- django - 显示从外键关系到自序列化程序的信息
- amazon-web-services - 无法在 Python 中解析 .csv
- c - 将 int 数字转换为 hex char - C 编程
- r - devtools/安装包的问题
- flutter - 您如何使用文本字段进行输入,将其放入等式中,然后在按下按钮后将输出显示为文本?
- haskell - 将问题编号与haskell中的页码匹配
- javascript - 如何将节点列表中的 HREF 属性分配到常规数组中?
- arrays - 对数组进行排序并检索排序后的索引
- reactjs - 如何使用钩子 React Native 获取数组并将其存储在状态中