字段值的字符串或数字代码 - 什么是最佳实践?

时间:2018-04-02 13:31:16

标签: database encoding schema field

在应用程序中(在我的例子中,是一个包含数据库,服务器和前端层的Web应用程序),如果您的字段具有有限数量的可能值,那么表示该字段的最佳方式是什么?数据库?

例如,假设我们的员工状态字段可以包含以下值:

  • 有效
  • 终止
  • 离开

此字段将在层之间传输,并且逻辑上的逻辑用于不同目的(例如,在网页上以不同颜色突出显示)。

那么存储这些值的最佳方法是什么,以便 a)错误的可能性较小,但 b)对开发人员来说仍然很容易使用?< / p>

应该将值存储为对应于不同状态的枚举(1,2,3),还是作为普通字符串,或者作为一些没有空格的缩短值,如(ACT,TER,LOA),或者这是纯粹是一个偏好的问题?因为你不会遇到拼写错误,我倾向于数字,但这有混淆的权衡。

赞赏此主题的标记建议。

1 个答案:

答案 0 :(得分:0)

我认为两者都有PRO和CONS。 使用数字:

1. Lesser Size 
2. Performance
3. Lesser Error 
4. Easy To Code

另一方面,当使用ID时,一个主要问题是每个需要与DB交互的应用程序需要知道这些ID及其含义。主要示例任何报告工具。当然,我们可以通过为每个这样的对象类型创建定义表来抵消这种影响。即只有两列ID的表,DESCR然后一个简单的联合就足够了。

使用字符串:

1. Easy to remember 
2. Easy for all other Systems directly talking to DB