在DB中存储标志

Goh*_*ary 4 database-design bitmask

在我的申请中,我希望用户选择他的工作日.然后将它们存储在数据库中.当然,我的应用程序将处理用户的数据,例如:今天是特定用户的工作日,谁是今天应该工作的用户,......等等.

我的问题是,这样做的最佳做法是什么?我应该使用:

  1. users表中的Bitmasking字段
  2. 通过为days,users和days_users创建表来创建多对多关系表.先感谢您.

Ode*_*ded 8

我会说位掩码字段是关系反模式.

一个字段应该有一个有意义的值,否则你最终会遇到查询问题 - 每次需要使用它进行查询时都要解析该字段.

这样的字段还需要额外的文档,因为它存储的值不是自描述的.