【发布时间】:2009-06-23 20:19:14
【问题描述】:
我刚刚进入一个项目,它有一个相当大的数据库后端。我已经开始深入研究这个数据库,发现 95% 的字段都可以为空。
这是数据库世界的正常做法吗?我只是一个低级程序员,而不是 DBA,但我认为您希望将可空字段保持在最低限度,仅在有意义的地方。
如果大多数列都可以为空,这是否是“代码异味”?
【问题讨论】:
-
如果 DB 架构仍在发展并且正在添加新列,则在开始时将新列设置为空可能会更容易,如果添加了很多列,这可能意味着很多空到数据库中的表。这似乎是我会看到它们出现的地方。
-
如果不能依赖默认值,将新列引入表中作为 NOT NULL 也是 stupidly-hard task。
标签: sql