要"查表"还是没有?

cod*_*egy 3 database-design normalization

我目前正在为一个项目设计一个数据库.现在我正在与自己辩论是否必须创建一个查找表,例如"民用状态"数据,该数据只能包含固定值,如Single,Married,Separated,Widow/Widower.我很确定将来不会添加任何其他值.我应该将它们放在一个单独的表上,还是仅仅对程序代码上的值进行硬编码?

bil*_*dev 7

对它们进行硬编码有什么好处?鉴于现代ORM系统,从DB中读取这些值并使用它们是不是很容易?如果是这样,那么当缺点是,我没有看到硬编码的好处:

  • 如果要添加到列表中,则必须重新部署
  • 如果要更改拼写,则必须重新部署
  • 您可能希望拥有的不仅仅是字符串(可能是ref-id或工具提示文本等)
  • 如果不存储ref-id,则必须更改1000条记录以更改存储的文本.

"我不能认为他们会改变"几乎永远不会与"他们无法改变"相同.如果他们不能改变,如真/假,那么罚款.如果你认为他们不会改变,那就不会改变.