Previous topicNext topic
Help > 使用指南 > 数据规范 >
03标准字典

标准字典定义

标准字典是指我们实际想保存的数据比较抽象化,然后需要使用一个更具有意义的文字来“翻译”、表达其真正含义,在这种场景下使用的数据规范。它的本质上是:解决我们需要保存的实际值人们无法直观地进行阅读、录入而导致的麻烦。

标准字典来由

其实实现多一步翻译动作,是有很多不便作为代价的。那么我们为什么要用标准字典?不用不行吗?使用字典其实为了解决两个问题,一个是多变的业务场景。还有一个是数据库空间节省。

先说说多变的业务场景问题。在实际的工作中,我们经常会遇到名称变更的问题。比如说仓库名称,如果我们直接以“仓库A”来写入数据库的话,万一哪天领导突发奇想,公司大创新改革,希望将“仓库A”改为“仓库ABC”。这时候我们该如何处理?去数据库里面把所有引用此字段的表、视图都一一修改一下吗?这工作量如何?改错了怎么办?遗漏了怎么办?要是还有其他的名称有变动怎么办?想想都让人崩溃。再回过来说,我们如果一开始保存在数据库中的一直是仓库代码,这时候我们只需要修改一下仓库代码与仓库名称之间的对应关系就可以了,问题可以被极度地简单化。所以使用标准字典是一种以不变应万变的设计理念,使用得当了,可以减少好多不必要的麻烦。

接下来我们再谈谈节省数据库使用空间的问题。正常情况下,我们可以用一个简单的数字代替一大长串字符。当然这个因素目前不是起决定性因素。

标准字典特点

1、可以“翻译”无意义的编码,使得数据更方便阅读。

2、简化数据录入,只需要点击下拉菜单选择即可。无需面对数据底层的代码。

3、可以方便地复用Enum类型数据。

4、实际数据类型强一致性。即我们数据库中保存的数据类型必须与我们字典的Key值数据类型强一致,才能够正常地“翻译”出字典的值来。这一点在后续的使用中一定要注意再注意。一旦有设置不符合此条件的,就会导致字典“翻译”失败。

标准字典设定

字典类型:本平台的字典通常通过2种方式获取,一种是通过SQL语句从数据库中加载,另外一种是通过程序dll中已经存在的Enum类型。

dll程序集:在下拉清单中选择要加载的Enum类型处在哪个dll文件中。

Enum名称:在弹出窗口中选择自己想要的Enum类型。

Key作为字符串:因为我们的标准字典要求数据库中字段类型与字典的Key值数据类型强一致,而我们的Enum类型,Key值都是整数型的,如果数据库中的字段已经是字符型的了,而且不能修改,这时候就需要强制将Enum的Key值转化成字符型,这样才能够使标准字典正常发挥作用。