database - 数据库设计问题

标签 database database-design

我们的数据库包含一个用于存储用户特定数据的 USERS 表,每个用户都有一个状态,activeinactive。使用 USERS 表中的 is_active bool 字段来指示状态就足够了。

同时,对于“不活跃”的用户,我们在另一个字段中保留了额外的信息,这与处于相反(“活跃”)状态的用户无关(因此设置为空)。

我的问题:在 USERS 表中保留 is_active bool 字段以清楚地指示状态,或者实际上根据可用的次要标准(可用性的可用性)推导状态是否更好?附加信息,始终存在且仅当用户处于“不活动”状态时)?

也就是说,看起来 is_active 字段对于 DB 规范化是多余的,但与此同时,可用于派生它的逻辑乍一看并不是那么明显这使得有关状态的查询看起来很麻烦并且包含非显式逻辑。

最佳答案

如果有人去不活跃,然后又活跃起来,其他字段仍然可以填写,保留 is_active 字段。

关于database - 数据库设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9386103/

相关文章:

mysql - 拥有许多 MySQL 表的缺点?

mysql - 带有消息框的数据库设计问题

database-design - 关联实体和关联关系属性的区别?

mysql - 我应该如何在mysql表设计中存储问题和答案

mysql - 执行更新不起作用

mysql - 如何配置/设计一个每15分钟插入30,000次的表?

mysql - 如何从本地文件vb.net读取数据库信息

ruby-on-rails - 在 Ruby on Rails 上使用表行值进行数学运算

database - 每个订单号有多个项目的 "Orders"表的最佳结构

php - 如何使用 session 将用户事件存储到数据库: Codeigniter