数据字典设计思路探讨 – 第 12 篇
用日志记录“开源软件”的诞生
【点亮星标】—- 祈盼着一个激励
博主开源地址:
码云:https://gitee.com/redragon/redragon-erp
GitHub:https://github.com/redragon1985/redragon-erp
数据字典真是本字典吗?
一提到数据字典总是说到数据库,它是对数据库对象的一个阐明。但我明天所说的数据字典指的是数据字典模块,它面向的不是数据库而是信息系统。我每次提出这一概念的时候,总会有很多人问数据字典是什么?有什么用?上面我就来聊聊。
数据字典的字面分成两个局部,即数据和字典。数据是咱们零碎中的根底,所有的性能都建设在数据的根底上;而字典其实就是在解释数据,所以说你也能够了解成它就是一本字典。但比字典的含意又有些不同或范畴更宽。字典是来解释一个词的意义的,而数据字典的性能更多是在形容一个数据的内容或范畴。举个例子,性别就是一个数据,如何形容它呢?男女。这当然只是一个最简略的例子,心愿你能够触类旁通的了解它。
为什么须要数据字典
数据字典的作用是什么呢?那么先来看它能够形容哪些类型的数据?
(1)一个键值对,比方记录一些常量值。
(2)List、Set、Map 值,比方币种、单位。
(3)树形构造,比方国家、省市。
由此可见咱们对于数据字典的利用往往就是记录,记录一个值、记录一系列值、或者记录一系列的关系值。这些值个别都是对其余字段或者数据的形容,并通过各种形式最终给用户出现进去。
那么都有哪些值能够存于数据字典中呢。
(1)性能中的抉择值或范畴值
(2)零碎中用的常量或变量
(3)零碎中可由管理员自在配置的数据
(4)零碎中可由用户自在配置的数据
这些数据当然也能够存于各种表中,但这么做除了浪费资源外毫无意义。所以存在数据字典里必然是最好的解决方案。只管是这样,但又会衍生出另外一个问题,是不是所有这些数据都必须存在数据字典呢?有没有代替计划?
数据字典和代替形式
上面咱们就来聊聊,我在赤龙 ERP 里如何存储上一节中波及的信息。这要分为几个类型:
(1)简直不会扭转的信息:因为这类数据不变,我个别会抉择将此数据存在于全局的 java 常量中,从而缩小数据字典的节约,进步调用效率。
(2)可由开发人员扭转的信息:因为这类数据可能会变,但变动频率低,且只会由开发人员变动,所以存在 java 虚拟机内存中,以不同数据类型而存在,从而升高此类数据的变动危险。
(3)可由施行人员扭转的信息:因为这类数据在零碎初始化时设置,容许变动,但变动频率不大。个别会将这些数据存在于配置文件中,不便施行运维人员的批改。
(4)可由用户本人扭转的信息:这类数据才是真正须要存在于数据字典的信息。用户操作不便,疾速失效,组织更加灵便。
数据字典的非凡解决:为了解决一些非凡的数据结构问题,咱们能够适当优化数据字典表,将表中减少辅助字典用于范畴形容,减少段值或父值字段用于树形构造的形容
后记
到此应该曾经清晰了数据字典在 ERP 中的具体利用,下一篇咱们聊聊,EHR 零碎和 ERP 零碎的性能与数据交割。
【码云】或【GitHub】搜寻“赤龙 ERP”点击星标。期待着您的反对!