zoukankan      html  css  js  c++  java
  • 数据字典真的有用吗?--开源软件诞生12

    数据字典设计思路探讨--第12篇

    用日志记录“开源软件”的诞生

    【点亮星标】----祈盼着一个鼓励

    博主开源地址:

    码云:https://gitee.com/redragon/redragon-erp

    GitHub:https://github.com/redragon1985/redragon-erp

    数据字典真的有用吗?

    数据字典真是本字典吗?

    一提到数据字典总是说到数据库,它是对数据库对象的一个说明。但我今天所说的数据字典指的是数据字典模块,它面向的不是数据库而是信息化系统。我每次提出这一概念的时候,总会有很多人问数据字典是什么?有什么用?下面我就来聊聊。

    数据字典的字面分成两个部分,即数据和字典。数据是我们系统中的基础,所有的功能都建立在数据的基础上;而字典其实就是在解释数据,所以说你也可以理解成它就是一本字典。但比字典的含义又有些不同或范围更宽。字典是来解释一个词的意义的,而数据字典的功能更多是在描述一个数据的内容或范围。举个例子,性别就是一个数据,如何描述它呢?男女。这当然只是一个最简单的例子,希望你可以举一反三的理解它。

    为什么需要数据字典

    数据字典的作用是什么呢?那么先来看它可以描述哪些类型的数据?

    (1)一个键值对,比如记录一些常量值。

    (2)List、Set、Map值,比如币种、单位。

    (3)树形结构,比如国家、省市。

    由此可见我们对于数据字典的应用往往就是记录,记录一个值、记录一系列值、或者记录一系列的关系值。这些值一般都是对其他字段或者数据的描述,并通过各种方式最终给用户呈现出来。

    那么都有哪些值可以存于数据字典中呢。

    (1)功能中的选择值或范围值

    (2)ERP系统中用的常量或变量

    (3)ERP系统中可由管理员自由配置的数据

    (4)ERP系统中可由用户自由配置的数据

    这些数据当然也可以存于各种表中,但这么做除了浪费资源外毫无意义。所以存在数据字典里必定是最好的解决方案。尽管是这样,但又会衍生出另外一个问题,是不是所有这些数据都必须存在数据字典呢?有没有替代方案?

    数据字典和替代方式

    下面我们就来聊聊,我在赤龙ERP里如何存储上一节中涉及的信息。这要分为几个类型:

    (1)几乎不会改变的信息:由于这类数据不变,我一般会选择将此数据存在于全局的java常量中,从而减少数据字典的浪费,提高调用效率。

    (2)可由开发人员改变的信息:由于这类数据可能会变,但变动频率低,且只会由开发人员变动,所以存在java虚拟机内存中,以不同数据类型而存在,从而降低此类数据的变动风险。

    (3)可由实施人员改变的信息:由于这类数据在系统初始化时设置,允许变动,但变动频率不大。一般会将这些数据存在于配置文件中,方便实施运维人员的修改。

    (4)可由用户自己改变的信息:这类数据才是真正需要存在于数据字典的信息。用户操作方便,快速生效,组织更加灵活。

    数据字典的特殊处理:为了解决一些特殊的数据结构问题,我们可以适当优化数据字典表,将表中增加辅助字典用于范围描述,增加段值或父值字段用于树形结构的描述

    后记

    到此应该已经明晰了数据字典在ERP中的具体应用,下一篇我们聊聊,EHR系统和ERP系统的功能与数据交割。

    带你了解不一样的【赤龙ERP】:https://www.redragon-erp.com(赤龙官网查看企业数字化解决方案)

  • 相关阅读:
    容器的注册
    context创建过程解析(三)之deployDirectories
    context创建过程解析(二)之deployWARs
    Redis数据类型
    Kafka常用命令
    使用Charles抓包微信小程序
    DO、DTO、BO、AO、VO、POJO定义
    主题样式之鼠标点击效果
    Mysql常用命令
    Linux常用命令
  • 原文地址:https://www.cnblogs.com/redragon/p/13708006.html
Copyright © 2011-2022 走看看