第4章 主数据标准体系:数据标准分类、命名规范、编码规则、数据字典建设方法
数据标准这件事,说起来好像就是定几个规则、写几个文档。但我做了这么多年主数据项目,见过太多企业在这上面栽跟头。说白了,标准体系是主数据管理的"宪法",宪法没写好,后面执行起来全是坑。
这一章,我就把数据标准体系拆开揉碎了讲。从分类到命名,从编码到字典,每一步我都会结合实战经验,告诉你哪些地方容易踩雷。
4.1 数据标准分类:别一上来就搞大而全
数据标准到底分几类?业界说法很多。我个人习惯把它分成三大类,简单直接:
| 分类 | 核心内容 | 典型例子 |
|---|---|---|
| 基础标准 | 数据元、数据项的定义与格式 | 日期格式统一为YYYY-MM-DD |
| 业务标准 | 业务术语、业务规则的统一 | "客户"的定义范围、状态枚举值 |
| 技术标准 | 数据存储、传输、交换的技术规范 | 接口报文格式、数据库字段类型 |
我在项目中遇到过一种情况:业务部门非要先搞技术标准,说"先把接口规范定了再说"。结果呢?业务术语都没对齐,接口字段的含义各说各话,最后接口联调时才发现"客户编码"在A系统是10位,在B系统是15位。嗯,返工是必然的。
4.2 命名规范:名字起不好,后面全是坑
命名规范看起来简单,但实际执行起来最难。为什么?因为每个人都有自己习惯的命名方式。你想想看,一个字段叫"cust_id",另一个叫"customer_identifier",再一个叫"khbm"(客户编码拼音缩写)——这还怎么玩?
我一般建议遵循以下几个原则:
- 可读性优先:用英文单词或拼音全拼,别用缩写。除非是业界公认的缩写(如ID、NO)。
- 一致性:同一个概念在不同地方必须用同一个词。比如"客户"要么全用"customer",要么全用"client",别混着来。
- 层级清晰:用下划线分隔层级,比如"customer_name"、"customer_phone",不要用驼峰或连字符。
- 避免歧义:不要用"status"这种太宽泛的词,要具体到"order_status"、"payment_status"。
4.3 编码规则:唯一性只是及格线
编码规则是主数据标准体系里最核心的部分。很多人觉得编码就是"给每个数据一个唯一编号",其实远不止这么简单。
好的编码规则应该满足三个层次:
- 唯一性:这是底线,不能重复。
- 可解析性:看到编码就能知道它代表什么。比如"MAT-2024-001",一看就知道是2024年的第1个物料。
- 可扩展性:预留足够的位数,别用完了再改。
我常用的编码结构是这样的:
编码 = 分类码 + 流水号 + 校验位(可选)
示例:
物料编码:MAT-2024-0001-8
- MAT:物料分类码
- 2024:年份
- 0001:流水号(从0001开始,预留到9999)
- 8:校验位(防止录入错误)
另外,编码规则一定要有版本管理。规则变了,旧编码怎么处理?新编码怎么兼容?这些都要提前想好。
4.4 数据字典建设方法:从"有"到"好用"
数据字典这东西,很多企业都有。但大多数是"有"而已,根本"不好用"。我见过最夸张的,数据字典是个Excel文件,放在共享盘里,版本号写着"最终版_v3_真的最终版.xlsx"。
数据字典建设,我总结了一个三步法:
第一步:梳理数据元
把业务系统中所有用到的数据项列出来。别怕多,先全量收集。我习惯用这个模板:
| 数据元名称 | 英文标识 | 数据类型 | 长度 | 取值范围 | 业务定义 |
|---|---|---|---|---|---|
| 客户名称 | customer_name | varchar | 100 | 任意字符 | 企业注册的全称 |
| 客户编码 | customer_code | varchar | 20 | 字母+数字 | 主数据系统生成的唯一编码 |
| 客户状态 | customer_status | int | 1 | 0=无效, 1=有效, 2=冻结 | 客户当前业务状态 |
第二步:去重与对齐
你会发现,不同系统里同一个数据元可能有不同的叫法。比如"客户名称"在CRM里叫"cust_name",在ERP里叫"customer_name"。这时候就要统一,选一个作为标准,其他的作为别名记录。
第三步:发布与维护
数据字典不是一次性工作。我建议:
- 用专门的工具管理(比如MDM平台自带的数据字典模块),别用Excel。
- 建立变更流程:谁提申请、谁审批、谁发布。
- 定期审计:每季度检查一次,看看有没有"野字段"冒出来。
4.5 标准体系落地:别让标准变成"挂在墙上的画"
标准体系建好了,怎么让它真正用起来?我分享几个实战经验:
- 嵌入流程:把标准检查点嵌入到系统开发流程里。比如新建字段时,必须先在数据字典里注册,否则系统不让提交。
- 自动化校验:开发自动化脚本,定期扫描数据库,检查字段命名、数据类型是否符合标准。
- 建立奖惩机制:对遵守标准的团队给予表扬,对违规的团队进行通报。别觉得这太"行政化",没有奖惩,标准就是空话。
好了,标准体系这部分就讲到这里。记住一句话:标准不是用来"看"的,是用来"用"的。建得再好,落不了地,就是一张废纸。