在數據庫設計中,狀態字段(如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表明是,那才真是邏輯嚴謹。

以上就是個人一些胡言亂語,若是大家以爲有點道理,但願幫到大家,若是有說錯的地方但願和你們撕逼,哈哈,謝謝!

相關文章
相關標籤/搜索