4. 质量主数据与元数据管理
在制造质量数据体系中,主数据是“被反复引用、跨系统共享、变更需受控”的核心实体。物料、设备、工序、缺陷代码、检验特性这五类对象几乎出现在每一张检验单、SPC 图表和不良分析报表中。如果它们各自为政——MES 里物料编码是 10 位、ERP 里是 8 位,QMS 里缺陷代码叫“划伤”、SPC 系统里叫“表面刮痕”——那么后续所有质量分析都会在“对不上号”上消耗大量精力。本节要解决的就是:如何把这五类主数据建模成稳定、可追溯、可注册的资产,并用元数据和数据字典把它们管起来。
一、五类质量主数据的建模要点
主数据建模不是简单建表,而是先确定“业务主键”和“生命周期状态”。以物料为例,业务主键通常不是数据库自增 ID,而是物料编码 + 工厂代码 + 版本的组合。同一物料在不同工厂可能有不同工艺路线,因此工厂维度不能省。物料主数据至少应包含:物料编码、物料名称、物料类别(原材料/半成品/成品)、关键质量特性标识、默认检验特性集、生效日期与失效日期。
设备主数据的关键在于“设备—工序—产线”的归属关系。一台压铸机可能同时服务于多个工序,因此设备主数据需要记录设备编码、设备类型、所属产线、可用工序列表、校准周期和当前状态(运行/停机/维修/报废)。工序主数据则要表达工序顺序和工序间的输入输出关系,典型字段包括工序编码、工序名称、工序序号、前置工序、后置工序、关联设备类型、关联检验特性。
缺陷代码是质量主数据中最容易被低估的一类。好的缺陷代码体系应具备层级结构:一级为缺陷大类(如尺寸类、外观类、功能类),二级为具体缺陷(如孔径超差、划伤、密封失效),三级可细分为缺陷模式(如划伤—纵向划伤、划伤—环形划伤)。每个缺陷代码应绑定:缺陷代码、缺陷名称、所属大类、严重度等级(致命/严重/轻微)、默认责任工序、是否触发停线。
检验特性主数据是连接“产品要求”和“测量结果”的桥梁。每个检验特性应定义:特性编码、特性名称、特性类型(计量型/计数型)、目标值、上下公差、单位、测量方法、所需量具类型、抽样方案。例如某轴径检验特性:目标值 φ25.00 mm,上公差 +0.02 mm,下公差 -0.01 mm,量具为外径千分尺,抽样方案为每 2 小时抽 5 件。
二、元数据注册:让主数据“可被发现、可被理解”
主数据建好后,如果没人知道它存在、不知道字段含义、不知道谁负责,它就只是数据库里的一张表。元数据注册就是给每类主数据建立“身份证”。注册内容至少包括:数据实体名称、业务定义、数据 steward(责任人)、来源系统、更新频率、敏感级别、关联的物理表名和字段清单。
以缺陷代码主数据为例,注册信息可以写成:实体名“缺陷代码主数据”,业务定义“用于统一描述制造过程中发现的产品缺陷类型及其严重度”,责任人“质量工程部—张工”,来源系统“QMS”,更新频率“按需变更,变更需审批”,敏感级别“内部公开”,物理表“md_defect_code”,关键字段“defect_code, defect_name, category, severity, default_process”。这份注册信息本身就是数据字典的骨架。
三、血缘追踪:从检验单反查到主数据版本
血缘追踪要回答的问题是:一条质量记录里的“缺陷代码 D-1023”到底来自哪个版本的主数据?如果 D-1023 在 2024 年 3 月被拆分为 D-1023A 和 D-1023B,那么 3 月之前的检验单应该仍然关联旧版本,3 月之后的关联新版本。实现方式通常是在事实表中不仅存缺陷代码,还存主数据版本号或生效时间戳。血缘链路可以表达为:检验记录 → 缺陷代码版本 → 缺陷代码主数据 → 缺陷分类标准 → 数据 steward。
下面这张图展示了五类质量主数据之间的核心关联关系,以及元数据注册和血缘追踪在其中的位置。图中每个主数据实体都标注了业务主键和关键关联字段,便于理解“谁引用谁、谁约束谁”。
四、数据字典构建实战:以检验特性为例
数据字典不是把数据库字段抄一遍,而是要让业务人员和技术人员都能看懂“这个字段填什么、怎么填、填错了会怎样”。下面给出一份检验特性主数据的数据字典示例,字段和取值均属于教学示例,实际项目需根据企业标准调整。
| 字段名 | 中文名 | 类型/长度 | 必填 | 取值范围/枚举 | 说明 |
|---|---|---|---|---|---|
| char_code | 特性编码 | VARCHAR(20) | 是 | 如 CH-001 | 全局唯一,建议按“产品族-序号”规则 |
| char_name | 特性名称 | VARCHAR(50) | 是 | 如 轴径 | 业务可读名称 |
| char_type | 特性类型 | CHAR(1) | 是 | M=计量型, C=计数型 | 决定后续SPC控制图类型 |
| target_value | 目标值 | DECIMAL(10,3) | 计量型必填 | 如 25.000 | 计数型可为空 |
| usl | 上公差 | DECIMAL(10,3) | 计量型必填 | 如 +0.020 | 相对目标值的偏差 |
| lsl | 下公差 | DECIMAL(10,3) | 计量型必填 | 如 -0.010 | 相对目标值的偏差 |
| unit | 单位 | VARCHAR(10) | 是 | mm, g, N, s 等 | 统一使用国际单位制 |
| measure_method | 测量方法 | VARCHAR(100) | 是 | 如 外径千分尺测量 | 描述测量位置和读数方式 |
| gauge_type | 量具类型 | VARCHAR(30) | 是 | 如 千分尺、卡尺、塞规 | 关联量具主数据 |
| sample_plan | 抽样方案 | VARCHAR(50) | 是 | 如 每2小时抽5件 | 频率+样本量 |
| status | 状态 | CHAR(1) | 是 | A=有效, I=失效 | 失效后不可用于新检验单 |
五、变更管理与版本控制
主数据最怕“悄悄改”。缺陷代码 D-1023 如果被直接修改名称,历史报表就会前后不一致。正确做法是:任何主数据变更都走“申请—审批—生效”流程,并生成新版本。版本号建议采用“主版本.次版本”格式,主版本变更表示业务含义变化(如缺陷拆分),次版本变更表示描述性修改(如名称微调)。事实表在写入时记录当时的主数据版本号,血缘追踪才能精确还原“这条记录当时用的是哪一版”。
总结来说,质量主数据管理不是一次性建表,而是“建模—注册—追踪—字典—变更”的持续闭环。物料、设备、工序、缺陷代码、检验特性这五类对象建好了,元数据注册清楚了,血缘追踪能反查到版本了,数据字典能让新人看懂字段了,后续的 SPC、不良分析、追溯召回才有可靠的数据底座。