登录
主页
数据对象定义规范
2025-11-06
  
828
深数据
在数字化业务体系中,数据作为核心生产要素,其一致性、可读性与可复用性直接决定了系统间协同效率、数据资产价值挖掘能力及业务决策准确性。本规范旨在通过统一数据对象的定义标准、命名规则、属性设计及元数据描述要求,消除“数据孤岛”与“数据歧义”,确保企业内部各业务系统、部门及合作伙伴在数据交互与共享过程中,对同一数据对象具备一致的理解与解读,为数据治理、数据分析、系统集成及数字化转型奠定坚实的数据基础。
一、适用范围
本规范适用于企业内所有涉及数据创建、存储、传输、处理与应用的业务场景,具体涵盖但不限于以下领域:
业务系统建设:包括ERP(企业资源计划)、CRM(客户关系管理)、SCM(供应链管理)、OA(办公自动化)等核心业务系统的数据模型设计与数据对象定义。
数据平台构建:数据仓库、数据湖、数据中台等数据存储与计算平台中的数据对象规划、映射与标准化处理。
跨系统集成:企业内部系统间(如CRM与ERP)、企业与外部合作伙伴系统间(如品牌商与经销商)的数据接口设计及数据交互规范制定。
数据分析与报表:业务报表、管理驾驶舱、数据可视化分析等场景中,基础数据对象的选取、定义与口径统一。
数据服务开发:面向业务的API(应用程序编程接口)设计中,请求与响应数据对象的结构定义与参数规范。
二、数据对象定义原则
1.业务驱动原则
数据对象的定义需深度贴合业务场景与业务流程,精准映射业务实体(如“客户”“订单”)与业务行为(如“订单支付”“库存调拨”)。避免脱离业务实际的“技术化”定义,确保数据对象能够准确承载业务信息,支持业务决策与业务流程自动化。例如,在电商业务中,“订单”数据对象需包含“支付方式”“物流状态”等与交易流程强相关的属性,而非仅保留技术层面的“创建时间”“存储ID”。
2.唯一性原则
在企业数据体系内,同一业务概念仅对应一个唯一的数据对象,且数据对象的核心标识(如主键)在全生命周期内保持唯一,不重复、不冲突。禁止出现“同一业务实体多种定义”(如“客户”在A系统中包含“会员等级”,在B系统中无此属性)或“同一数据对象多种命名”(如“订单”在采购系统中称为“采购单”,在销售系统中称为“销售订单”,需统一为“采购订单”“销售订单”以明确区分)的情况。
3.完整性原则
数据对象需完整覆盖其对应业务场景下的核心信息,确保关键业务属性无缺失,满足业务操作、数据统计与分析的需求。完整性并非要求“属性越多越好”,而是基于业务优先级,明确“必选属性”与“可选属性”:必选属性为业务流程正常运转不可或缺的信息(如“订单”的“订单编号”“客户ID”“订单金额”);可选属性为满足特定业务场景需求的补充信息(如“订单”的“客户备注”“赠品信息”)。
4.一致性原则
1)命名一致性:数据对象名称、属性名称在全企业范围内遵循统一的命名规则,避免同一概念因系统或部门不同而出现名称差异。
2)类型一致性:同一属性(如“客户ID”)在不同系统、不同数据对象中的数据类型(如字符串、整数)保持一致,避免因类型不匹配导致数据转换错误。
3)格式一致性:具有格式要求的属性(如“手机号”“日期”“邮箱”)需遵循统一的格式标准(如手机号为11位数字,日期格式为“YYYY-MM-DD”),确保数据的可读性与可计算性。
5.可扩展原则
数据对象的结构设计需预留扩展空间,以适应业务需求的变化与新增场景。在定义数据对象时,避免采用“硬编码”方式限制属性数量,可通过“扩展属性组”“自定义字段”等灵活形式,支持后续新增属性(如“客户”数据对象后续需新增“会员积分等级”属性时,无需重构整个数据对象结构)。同时,扩展属性需遵循本规范的命名、类型等规则,确保整体数据体系的一致性。
三、数据对象命名规范
(一)数据对象名称命名规则
1.命名格式:采用“业务领域+核心实体”的组合式命名,以中文或英文(根据企业技术栈偏好选择,需统一)表述,名称需简洁、明确,直接反映数据对象对应的业务实体。
中文示例:销售订单、客户信息、采购合同、库存商品
英文示例:SalesOrder、CustomerInfo、PurchaseContract、InventoryProduct
2.禁止使用内容:
禁止使用模糊、歧义的词汇(如“数据1”“信息表”)。
禁止使用技术实现相关的词汇(如“MySQL_客户”“API_订单”),避免绑定具体技术方案。
禁止使用特殊字符(如@、、$)、空格及拼音与中文/英文混合表述(如“KeHu信息”“Customer客户”)。
3.长度限制:中文名称长度建议不超过8个汉字,英文名称长度建议不超过30个字符,确保在系统界面、文档中显示清晰,且符合数据库表名、API参数名等技术层面的长度限制。
(二)数据对象属性名称命名规则
1.命名格式:采用“属性含义+属性类型(可选)”的格式,直接体现属性的业务含义,避免使用缩写(通用缩写如“ID”“URL”除外)。
示例:客户ID(属性含义:客户标识,类型:唯一标识)、订单创建时间(属性含义:订单生成时间,类型:时间)、商品单价(属性含义:商品单位价格,类型:金额)
英文示例:CustomerID、OrderCreateTime、ProductUnitPrice
2.数据类型标识:对于易混淆的属性,可在名称中明确数据类型,如“订单金额(元)”“创建时间(YYYY-MM-DD)”,避免因单位或格式不明确导致误解。
3.关联属性命名:当属性为关联其他数据对象的标识时,需采用“关联对象名称+ID”的格式,明确关联关系。
示例:订单对应的客户标识,命名为“客户ID”(而非“关联ID”);采购单对应的供应商标识,命名为“供应商ID”。
4.禁止使用内容:
禁止使用“字段1”“属性A”等无意义的序号或字母命名。
禁止使用与数据对象名称重复的词汇(如“订单”数据对象的属性,禁止命名为“订单订单号”)。
禁止使用 reserved word(如数据库中的“SELECT”“FROM”,编程语言中的“class”“function”)作为属性名称。
四、数据对象属性定义规范
数据对象(Data Object):指现实世界中可被描述、可被识别且具有明确业务含义的实体或概念的抽象表示,是数据的基本载体。例如 “客户”“订单”“产品”“员工” 等均属于典型的数据对象,它包含了描述该实体或概念的一系列属性以及与其他数据对象的关联关系。
属性(Attribute):用于描述数据对象某一特征或特性的信息项,是构成数据对象的基本单元。每个属性都具有唯一的名称、明确的数据类型、取值范围和业务含义,例如 “客户” 数据对象的 “客户 ID”“客户姓名”“联系方式”“注册时间” 等均为其属性。
(一)属性数据类型
根据业务需求与数据存储、计算场景,数据对象属性需从以下标准数据类型中选择,确保类型的一致性与兼容性:
1.字符串(String)
用于存储文本类数据,可包含字母、数字、符号等 | 客户姓名、手机号、邮箱地址、商品名称 | 手机号:11位数字;邮箱:符合“xxx@xxx.xxx”格式;普通文本:建议长度不超过255字符 |
2.整数(Integer)
用于存储无小数部分的数值,支持正负整数 | 客户ID、订单编号、商品数量、库存数量 | 根据业务规模定义长度,如客户ID:8位整数(支持1亿以内客户) |
3.浮点数(Float/Double)
用于存储带小数部分的数值,Double精度高于Float | 商品单价、订单金额、折扣率 | 金额类:保留2位小数(如19.99元);折扣率:保留4位小数(如0.8500即85折) |
4.日期(Date)
用于存储年月日信息,不包含时间 | 客户生日、订单日期、合同生效日期 | 统一格式为“YYYY-MM-DD”(如2024-05-20) |
5.日期时间(DateTime)
用于存储年月日及具体时间(精确到秒或毫秒) | 订单创建时间、支付时间、数据更新时间 | 统一格式为“YYYY-MM-DD HH:MM:SS”(如2024-05-20 14:30:59) |
6.布尔值(Boolean)
用于存储“是/否”“真/假”类型的二值数据 | 订单是否支付、客户是否为会员、商品是否上架 | 仅允许取值“True/False”或“1/0”(需全企业统一) |
7.枚举(Enum)
用于存储固定可选值的集合,值的范围预先定义 | 订单状态(待支付、已支付、已发货、已完成)、支付方式(微信支付、支付宝、银行卡) | 枚举值需明确名称与编码(如订单状态:0-待支付,1-已支付),且编码唯一 |
(二)属性约束条件
1. 非空约束(Not Null)
定义属性是否允许为空。必选属性(如“客户ID”“订单编号”)需设置非空约束,确保核心业务信息不缺失;可选属性(如“客户备注”)可允许为空。
2. 唯一约束(Unique)
定义属性值是否在数据对象内唯一。用于标识业务唯一性的属性(如“手机号”“邮箱地址”)需设置唯一约束,避免重复数据;非唯一属性(如“商品分类”“订单状态”)无需设置。
3. 主键约束(Primary Key)
每个数据对象必须定义一个主键属性,作为数据对象的唯一标识,用于数据查询、更新、删除及关联操作。主键通常为“XXID”格式(如“客户ID”“订单ID”),建议采用自增整数或UUID(通用唯一识别码)类型,确保全生命周期唯一。
4. 外键约束(Foreign Key)
当属性关联其他数据对象时,需设置外键约束,关联到被引用数据对象的主键,确保数据关联的合法性与一致性。例如,“订单”数据对象的“客户ID”属性需关联“客户”数据对象的“客户ID”主键,避免出现“订单关联不存在的客户”的异常数据。
5. 取值范围约束
对于数值型属性(如“商品数量”“订单金额”),需定义合理的取值范围,防止无效或异常数据录入。例如,“商品数量”取值范围为“≥1”,“订单金额”取值范围为“≥0”。
(三)属性默认值设置
1. 设置原则
默认值需符合业务逻辑,能够减少无效数据录入,同时避免因默认值不合理导致的数据偏差。仅对有明确业务默认场景的属性设置默认值,无默认场景的属性不强制设置。
2. 常见默认值示例:
日期时间类属性:如“创建时间”,默认值为“当前系统时间”。
布尔值属性:如“商品是否上架”,默认值为“False(未上架)”。
枚举类属性:如“订单状态”,默认值为“0-待支付”。
数值类属性:如“折扣率”,默认值为“1.0000(无折扣)”。
3. 注意事项:默认值需在元数据中明确标注,且修改默认值时需评估对历史数据及关联业务的影响,避免引发数据不一致。
(四)数据对象关系定义
关联数据对象名称:明确与当前数据对象存在关联关系的其他数据对象名称,确保关联对象的准确性(需与已定义的数据对象名称一致)。
关系类型:根据业务逻辑确定数据对象之间的关系类型,分为一对一、一对多、多对多三种类型,并用简洁的语言描述关系特征,避免关系类型混淆。
一对一关系:描述格式为 “当前数据对象(1)→ 关联数据对象(1)”,并说明关系的业务意义。例如,“员工(1)→ 员工身份证信息(1)”,业务意义:一个员工仅对应一份唯一的身份证信息,一份身份证信息仅归属一个员工。
一对多关系:描述格式为 “当前数据对象(1)→ 关联数据对象(N)”,并说明关系的业务意义。例如,“客户(1)→ 订单(N)”,业务意义:一个客户可创建多个不同的订单,每个订单仅归属一个客户。
多对多关系:描述格式为 “当前数据对象(N)→ 关联数据对象(N)”,并说明关系的业务意义及中间表(若有)信息。例如,“产品(N)→ 订单(N)”,业务意义:一个产品可被多个订单包含,一个订单可包含多个不同的产品;中间表为 “订单产品关联表”,用于存储产品与订单的关联关系及关联属性(如产品在订单中的购买数量、单价)。
关联属性:明确用于建立数据对象之间关联关系的属性(即外键属性与对应的主键属性),确保关联属性在数据类型、取值规则上保持一致,是维护关系完整性的关键。例如,“客户” 与 “订单” 的关联属性为 “客户。客户 ID(主键)” 与 “订单。客户 ID(外键)”。
五、数据对象元数据描述规范
元数据是描述数据对象“数据的数据”,是数据治理、数据发现与数据理解的核心依据。每个数据对象需包含完整的元数据描述,存储于企业元数据管理平台,确保可查询、可追溯。
(一)元数据核心内容
1. 基础信息
数据对象名称:符合本规范第四章的命名规则,包含中文名称与英文名称(如适用)。
唯一标识(ID):在元数据管理平台中为数据对象分配的唯一编码,用于元数据的管理与关联(如DO_001_SalesOrder)。
业务领域:明确数据对象所属的业务领域(如销售领域、采购领域、客户领域、库存领域)。
数据负责人:明确数据对象的业务负责人(如销售经理)与技术负责人(如数据模型设计师),负责元数据维护、变更审批及问题响应。
创建时间与更新时间:记录数据对象的首次定义时间及后续每次变更的时间,确保可追溯。
2. 业务描述
业务含义:详细说明数据对象对应的业务实体、业务场景及核心作用(如“销售订单:记录客户购买商品的交易信息,包含订单明细、支付状态、物流信息等,是销售业务流程的核心数据载体,用于订单履约、销售统计与客户分析”)。
关联业务流程:列出数据对象参与的核心业务流程(如“销售订单关联的业务流程:客户下单→订单审核→支付→发货→确认收货→售后处理”)。
业务规则:说明与数据对象相关的业务规则(如“销售订单业务规则:订单金额≥0;订单状态变更规则:待支付→已支付→已发货→已完成/已取消”)。
3. 结构描述
属性清单:以表格形式列出数据对象的所有属性,包含属性名称、数据类型、约束条件(非空/唯一/主键/外键)、默认值、业务含义、关联数据对象(如外键关联的“客户”数据对象)等信息。
4. 技术描述
存储位置:明确数据对象在技术系统中的存储位置(如“ERP系统:MySQL数据库,表名:sales_order;数据仓库:Hive表,路径:/user/hive/warehouse/sales.db/sales_order”)。
数据来源:说明数据对象的数据采集来源(如“订单基础信息:来自电商平台下单接口;支付信息:来自支付网关回调接口;物流信息:来自物流管理系统同步接口”)。
数据生命周期:定义数据对象的存储周期(如“在线存储1年,归档存储5年,5年后按企业数据销毁流程处理”),及生命周期各阶段的存储介质(如在线存储:SSD硬盘;归档存储:磁带库)。
访问权限:明确数据对象的访问权限控制规则(如“业务人员:只读权限;数据分析师:只读权限(脱敏后);系统管理员:读写权限”),及敏感属性的脱敏规则(如“客户手机号:脱敏显示为1385678”)。
(二)元数据维护要求
1. 维护频率:数据对象的元数据需随业务需求变更或技术方案调整及时更新,确保元数据与实际数据对象一致。例如,当“销售订单”新增“发票状态”属性时,需在1个工作日内更新元数据的属性清单、业务描述等内容。
2. 变更审批:元数据变更需遵循审批流程,由数据负责人发起变更申请,经业务部门、技术部门相关负责人审批通过后,方可更新元数据管理平台中的信息。变更申请需包含变更原因、变更内容、影响范围(如关联系统、报表)等信息。
3. 版本管理:元数据管理平台需支持版本控制,记录每次元数据变更的历史版本,允许回溯查看历史元数据,确保变更可追溯、可回滚。
六、数据对象变更与废弃规范
(一)变更触发条件
当出现以下情况时,需启动数据对象的变更流程:
1. 业务需求变更:如新增业务场景(如电商新增“预售订单”类型,需在“销售订单”中新增“订单类型”属性)、业务规则调整(如订单金额计算逻辑变更,需修改“订单金额”属性的业务含义)。
2. 技术方案调整:如数据存储系统迁移(如从MySQL迁移至PostgreSQL,需调整“存储位置”元数据)、数据集成接口变更(如数据来源从“旧支付网关”切换为“新支付网关”,需更新“数据来源”元数据)。
3. 数据质量问题:如发现数据对象属性缺失(如“订单”缺少“物流单号”属性导致无法追踪物流)、属性类型不合理(如“客户手机号”用整数类型存储,导致无法存储带“+86”前缀的国际号码)。
(二)变更流程
变更申请:由变更申请人(如业务负责人、技术负责人、数据维护人)填写《数据对象定义变更申请表》,说明变更原因、变更内容(需明确修改前后的对比)、预计影响范围(涉及的业务系统、数据应用场景、关联数据对象),并附相关支撑材料(如业务需求变更文档、技术方案调整说明),提交至数据管理部门。
变更评估:数据管理部门联合业务、技术团队对变更申请进行评估,重点分析变更的必要性、对现有系统及数据的影响程度(如是否需数据迁移、是否会导致历史数据不一致)、变更成本(如开发工作量、测试周期)。评估完成后,形成《数据对象变更评估报告》,明确同意变更、部分同意变更(需调整变更方案)或拒绝变更的结论,反馈至申请人。
变更实施与审核:同意变更的,由原数据对象定义人或指定负责人按照评估报告调整定义内容,形成变更后的《数据对象定义文档(修订版)》,并参照本规范 “第六章 审核流程” 重新进行审核(核心变更需走完整审核流程,轻微调整如属性描述优化可简化为技术审核 + 业务确认)。
变更发布与同步:审核通过的变更内容,由数据管理部门更新至数据字典,发布《数据对象定义变更通知》,明确变更生效时间及过渡期安排(如旧定义的停用时间),并组织相关团队完成系统改造、数据调整等适配工作,确保变更平稳落地。
七、数据对象定义的审核与发布
1.审核流程
初审(业务审核):数据对象定义完成后,由所属业务领域的负责人(如业务部门经理、业务需求分析师)对定义内容进行初审,重点验证数据对象及属性的业务含义、完整性是否符合实际业务需求,关系逻辑是否与业务流程一致。初审通过后,形成《数据对象定义业务审核表》,提交至数据管理部门。
复审(技术审核):数据管理部门联合技术团队(如数据建模师、软件开发工程师)进行复审,审核内容包括:命名规则是否符合企业统一标准、数据类型选择是否合理且兼容现有系统、主键 / 外键设计是否满足数据完整性要求、关系约束规则是否适配技术实现方案、是否存在与现有数据对象重复或冲突的情况。复审通过后,出具《数据对象定义技术审核意见》;若存在问题,需反馈至定义人进行修改,修改后重新提交审核。
终审(跨部门评审):对于核心业务领域(如客户管理、订单管理)或影响范围较广(如跨多个业务系统)的数据对象,需组织跨部门评审会,参会人员包括业务部门、技术部门、数据管理部门、风控部门(若涉及敏感数据)等。评审会对数据对象定义的合理性、一致性、可扩展性进行最终确认,形成《数据对象定义跨部门评审纪要》,经所有参会方签字确认后,完成终审。
2.发布管理
发布准备:审核通过的数据对象定义,由数据管理部门整理形成《数据对象定义规范文档》,包含数据对象基本信息、属性详情、关系定义、审核意见等完整内容,并同步更新至企业数据字典(如在线数据字典系统、共享文档库)。
发布通知:数据管理部门通过企业内部通知渠道(如邮件、OA 系统、公告栏)发布数据对象定义生效通知,明确生效时间、适用范围、查询路径及维护责任人,确保所有相关人员(如数据使用者、系统开发人员)知晓并可获取最新定义文档。
生效执行:自通知生效时间起,所有涉及该数据对象的系统开发、数据建模、数据集成、数据分析等工作,均需严格按照已发布的定义规范执行,禁止擅自修改数据对象名称、属性含义、数据类型等核心信息。
八、数据对象定义的版本控制
版本标识规则:采用 “主版本号。次版本号。修订号” 的格式对数据对象定义进行版本管理,例如 V1.0.0(初始版本)、V1.1.0(新增属性)、V1.1.1(修正属性描述)。其中:
主版本号(如 V1→V2):当数据对象发生重大变更(如核心属性删除、关系类型调整、业务含义重构)时,递增主版本号;
次版本号(如 V1.0→V1.1):当发生中等变更(如新增属性、修改数据类型、调整约束规则)时,递增次版本号;
修订号(如 V1.1.0→V1.1.1):当发生轻微变更(如修正描述歧义、补充示例说明)时,递增修订号。
版本追溯:数据管理部门需建立数据对象定义版本台账,记录每个版本的生效时间、变更内容、变更申请人、审核人、关联文档等信息,并在数据字典中保留所有历史版本的文档,支持按版本号、时间范围等维度查询追溯,便于排查历史数据问题或回退至历史版本(特殊场景下)。
版本兼容:对于主版本号变更的数据对象,需评估新旧版本的兼容性,若存在不兼容情况(如属性删除导致历史数据无法映射),需制定版本过渡方案(如数据转换规则、旧版本数据归档策略),确保在版本切换期间数据可用性不受影响;次版本号及修订号变更需保证向前兼容,即基于旧版本开发的系统或数据应用,在新版本生效后仍可正常运行(如需适配新增属性,需提供默认值或兼容处理逻辑)。
九、监督与考核
日常监督:数据管理部门定期(如每月)对数据对象定义的执行情况进行检查,重点核查系统开发、数据建模工作是否符合规范,数据字典中的定义是否与实际使用情况一致,发现违规行为(如擅自修改属性数据类型、使用未审核的数据对象名称)及时通报并要求整改。
问题整改:对于检查中发现的问题,数据管理部门出具《数据对象规范执行整改通知书》,明确整改责任人、整改期限及整改要求;整改完成后,需进行复核,确保问题彻底解决。若逾期未整改或整改不到位,将上报至企业管理部门进行问责。
考核机制:将数据对象定义规范的执行情况纳入相关部门及人员的绩效考核指标(如业务部门的 “数据规范符合性”、技术团队的 “数据建模规范达标率”、数据管理部门的 “数据字典更新及时性”),考核结果与绩效评分、评优评先挂钩,激励全员严格遵守规范。
点赞数:14
© 2021 - 现在 杭州极深数据有限公司 版权所有 联系我们 
浙公网安备 33018302001059号  浙ICP备18026513号-1号