如何在数据库中存储工作日的开放日期

时间:2010-04-28 15:02:58

标签: database-design

我有一组复选框,用户可以选择某些工作日(商店的开放日)。如何保存所选日期?我应该在同一个字段上保存类似0111111(零表示在星期日关闭)的内容,并在读取数据时分割结果吗?或者为每一天创建一个字段并在每个(奇怪的)上存储0或1?

2 个答案:

答案 0 :(得分:7)

第一种方法可以节省空间,第二种方法可以在检索数据时提高性能,尤其是在需要按工作日过滤时。它还使处理工作日的查询更加清晰。您必须根据应用程序的逻辑来决定哪些对您更重要。

一般来说,我会使用每日场地解决方案。

答案 1 :(得分:0)

完全取决于你拥有它后你将如何处理这些数据。总的来说,如果这七个factoids(商店的工作日是opn)是一个事实,将被视为一个事实,你将永远不需要解析并单独处理字符串中的一个“factoids”,然后它可以并且可能应该存储为一个数据。

但是,如果您必须将此信息视为七个不同的数据,那么最好将其记录为七个不同的数据(即七个不同的列)。

同样,这背后有很多“它取决于”。另一种思考方式是,展望您将如何使用数据,并尝试构建您的存储以简化您的流程(即您是否希望始终为您想要的元素解析字符串“1010101” ?)