繁体   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