簡體   English   中英

在數據庫中存儲無限/最大值的最佳實踐

[英]best practice to store Unlimited/Max value in DB

在某些情況下,我需要存儲一個無限的值(或最大值,無論您喜歡用什么名稱),這對業務沒有限制。

我考慮了一些選擇:

  • 使字段為Nullable,並使用DB NULL表示這種情況。 但是問題是我必須在需要比較或顯示的地方進行檢查。

  • 使用給定類型的實際最大值(例如,整數,我可以使用最大的Int32值),但是這需要在數據庫級別進行一些調整-我必須在該字段上寫一個約束(因為我可以使用固定的十進制長度)或Integer DB類型)來限制最大值,這對業務也沒有意義。

  • 使用預定義的大值(可能對業務有意義)來表示它並將其存儲在數據庫級別,同樣,我必須將約束寫入db字段。

我以前在不同的情況下都使用過它們,並且它們都還不錯,但是要知道,處理一些特定的案例是很痛苦的。

我的問題有點寬泛:你們對此有何建議? 有哪些良好/最佳實踐?

任何幫助/建議表示贊賞。

我認為將其存儲為單獨的列IsXyzUnlimited可能是一個很好的替代做法。

由於它並不表示null,所以最好將其表示為null。 如您所述,在調用它之前還存在檢查它的問題。

而且,正如您提到的,其他兩個值可能具有商業意義。 如果您希望數據能夠自動顯示有關業務的信息,請明確地說“嘿,業務,當選中此框時,這是無限的”。 沒有神奇的價值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM