我们的数据库包含一个用于存储用户特定数据的 USERS 表,每个用户都有一个状态,active
或 inactive
。使用 USERS 表中的 is_active
bool 字段来指示状态就足够了。
同时,对于“不活跃”的用户,我们在另一个字段中保留了额外的信息,这与处于相反(“活跃”)状态的用户无关(因此设置为空)。
我的问题:在 USERS 表中保留 is_active
bool 字段以清楚地指示状态,或者实际上根据可用的次要标准(可用性的可用性)推导状态是否更好?附加信息,始终存在且仅当用户处于“不活动”状态时)?
也就是说,看起来 is_active
字段对于 DB 规范化是多余的,但与此同时,可用于派生它的逻辑乍一看并不是那么明显这使得有关状态的查询看起来很麻烦并且包含非显式逻辑。
最佳答案
如果有人去不活跃,然后又活跃起来,其他字段仍然可以填写,保留 is_active 字段。
关于database - 数据库设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9386103/