3. 数据模型设计:定义历史报价数据标准字段

历史报价数据的导入与校验,其核心基础在于一套统一、严谨的数据模型。若缺乏标准字段定义,不同来源的报价数据将无法在同一平台内进行有效比较与聚合。本章节将详细定义历史报价数据的标准字段结构,确保数据在导入前即具备一致性、完整性与可计算性。

3.1 核心字段定义与业务含义

历史报价数据模型围绕“一次报价记录”这一最小业务单元进行设计。每条记录应唯一标识一个供应商针对特定物料在特定时间点提供的价格。标准字段分为三大类:标识字段、价格与条件字段、时间与状态字段。

字段分类 字段名称 数据类型 业务含义与校验规则
标识字段 供应商编码 VARCHAR(20) 供应商在采购系统中的唯一编码。必填,需与供应商主数据校验。
物料号 VARCHAR(30) 采购物料的唯一编码。必填,需与物料主数据校验。
报价单号 VARCHAR(50) 供应商报价单的原始编号。可选,用于追溯原始文档。
价格与条件字段 单价 DECIMAL(18,4) 不含税单价。必填,数值必须大于0。
币种 CHAR(3) ISO 4217 标准货币代码(如 CNY、USD、EUR)。必填。
价格单位 VARCHAR(10) 单价对应的数量单位(如“个”、“千克”、“套”)。必填,需与物料主数据中的基本单位一致或可转换。
付款条件 VARCHAR(100) 如“30天净额”、“预付30%”等。可选,用于比价时评估综合成本。
时间与状态字段 有效期起始日 DATE 报价生效日期。必填,格式为 YYYY-MM-DD。
有效期截止日 DATE 报价失效日期。必填,必须晚于或等于起始日。
数据来源 VARCHAR(20) 标识数据导入批次或来源系统(如“手工导入”、“ERP接口”)。必填。
设计要点: 单价字段保留4位小数,是为了应对不同币种或小单位物料(如电子元器件)的精度需求。价格单位与物料主数据单位的一致性校验,是避免“每千克”与“每个”价格误比的关键环节。

3.2 数据模型实体关系与校验逻辑

标准字段并非孤立存在,它们共同构成了一个以“报价记录”为中心的星型模型。下图展示了核心实体之间的关系以及数据导入时的关键校验节点。

历史报价数据模型与校验节点图 历史报价数据模型与校验节点 报价记录 供应商编码 + 物料号 + 有效期 供应商主数据 校验供应商编码有效性 物料主数据 校验物料号与价格单位 币种汇率表 校验币种代码与汇率 校验点 1 校验点 2 校验点 3 校验点1:供应商编码是否存在于供应商主数据中;校验点2:物料号是否存在且价格单位一致;校验点3:币种代码是否在汇率表中定义。

3.3 字段校验规则清单

为确保导入数据的质量,系统需对每个标准字段执行预定义的校验规则。以下清单列出了关键字段的校验逻辑与失败处理策略。

  • 供应商编码:非空校验 + 存在性校验(与供应商主数据表关联)。失败时,整条记录标记为“无效供应商”,并记录错误日志。
  • 物料号:非空校验 + 存在性校验(与物料主数据表关联)。失败时,记录标记为“无效物料”。
  • 单价:数值格式校验 + 大于零校验。失败时,记录标记为“价格异常”。
  • 币种:非空校验 + 代码格式校验(必须为3位大写字母)+ 存在性校验(与币种表关联)。失败时,记录标记为“币种无效”。
  • 有效期:日期格式校验 + 逻辑校验(截止日 >= 起始日)。失败时,记录标记为“日期逻辑错误”。
数据治理警示: 切勿在导入阶段跳过任何校验规则。一次“供应商编码”的拼写错误,可能导致后续比价分析中该供应商的所有报价被错误归集到“未知供应商”类别,从而破坏整个价格分析的可信度。

3.4 数据模型设计总结

标准字段的定义是历史数据导入流程的基石。通过将字段划分为标识、价格条件、时间状态三大类,并建立与供应商、物料、币种等主数据的强校验关系,我们构建了一个可追溯、可比较、可计算的数据模型。该模型不仅支撑了后续的报价比较功能,也为采购数据分析提供了高质量的数据源。