在数据库设计中,状态字段(如status)用0表明成功仍是失败,有所谓吗?

场景


数据库表中出场率很是高的一类字段就是状态(如status、state等),如今我正在设计一个数据库表,状态字段有“正常”和“注销”两种状态值。一般会出现如下两种使用方式:数据库

0:正常,1:注销设计

0:注销,1:正常class

有些人用第一种,有些人用第二种,有区别吗?数据

  • 使用第一种方式的蜀黍,我不知道大家怎么想的。
  • 我猜(瞎猜的不必定对)使用第二种方式的小哥哥,想到了boolean类型0表示假、1表示真,因此0表明注销、1表明正常,逻辑很是严谨一致。

剧情发展


就在这危在旦夕的时刻,系统迭代过程当中增长了几个状态,好比:锁定、过时、拉黑,再比较一下两种方式:异常

0:正常,1:注销,2:锁定,3:过时,4:拉黑di

0:注销,1:正常,2:锁定,3:过时,4:拉黑block

这时候,是否是看到一点区别了,有没有发现第一种方式更优雅? 为何呢?let

由于「幸福的家庭都是类似的,不幸的家庭各有各的不幸」🤣data

正常状态只有一种用0表示,一、二、3等分别表明不一样的异常状况。好像有点道理啊,更况且还有意外收获,能够用 status > 0 检索全部异常状态。delete

胡言乱语


再提醒一下上边逻辑严谨一致的那位小哥哥,此处字段名是status并且是数值类型,与boolean类型没有任何瓜葛。若是你的字段名是是is_deleted,我认为你用0表明非、1表明是,那才真是逻辑严谨。

以上就是个人一些胡言乱语,若是大家以为有点道理,但愿帮到大家,若是有说错的地方但愿和你们撕逼,哈哈,谢谢!

相关文章
相关标签/搜索