什么是数据模型
数据模型是指对企业的数据元素及其彼此之间关系进行可视化表示的技术,旨在解决业务与技术资源在数据存储、访问、共享、更新和使用方式上协同困难问题的数据管理技术。其核心价值在于通过图形化方式定义应用的数据模型格式,无需关心底层数据表设计,从而支持开发有效的信息系统,加速业务数字化进程。
工业数字模型驱动引擎(Industrial Digital Model Engine,简称iDME)的数据建模引擎(xDM Foundation,简称xDM-F)的数据模型,是一种基于元模型驱动的模型集合,用于定义应用数据对象的基本信息、业务属性及功能。包括数据实体、关系实体和功能模型三种类型,旨在解决企业数据标准化定义与跨系统互通的问题。其核心价值在于通过图形化零代码建模,自动生成底层数据库Schema和数据服务API,实现“设计即开发”,降低开发成本并加速应用交付。
为什么需要数据模型
企业在数字化转型过程中,普遍面临数据孤岛林立、标准难以统一、系统间数据无法互通等痛点。传统软件开发往往需要大量的数据架构设计与定制开发工作,能力难以复用,且跨系统数据治理成本高昂。
数据模型通过构建全域统一的语义表达,打通多工程领域数据壁垒。通过“先建模,后实例”的范式,跨系统数据按模型关系自动内聚,无需事后治理,有效降低开发成本并支撑从产品设计到制造的全生命周期数据管理。
数据模型的优势是什么
- 图形化零代码建模:提供可视化的数据模型图谱设计,非开发人员也能快速建模,实现模型设计即开发,降低技术门槛。
- 模型驱动自动生成:一次建模即可自动生成底层数据库Schema、RESTful/GraphQL API及前端UI元数据,有效缩短应用交付周期。
- 高扩展性:支持在不破坏现有业务逻辑和数据结构的前提下,对模型进行属性新增、关系扩展或行为重载。
- 内置数据治理:模型天然携带数据标准、质量校验规则和细粒度(行/列级)权限控制,实现“建模即治理”。
- 开箱即用模板:内置工业数据模型模板库(Bill of X,其中X代表企业数据元素,简称BoX),沉淀行业标准与华为实践经验,如BoM模型模板、工艺模型等。
数据模型的使用场景
- SaaS化工业软件构建:数据模型为ISV(Independent Software Vendor,独立软件开发商)提供了图形化建模与模型驱动生成能力,支持在华为云上快速构建和运营PDM(Product Data Management,产品数据管理)、SPDM(Simulation Process and Data Management,仿真过程与数据管理)、SysDM(System Data Management,系统数据管理)、MPM(Manufacturing Process Management,制造过程管理)等SaaS化工业数据管理软件,以缩短应用交付周期。
- 企业数字化转型:数据模型为中大型企业提供了全域统一的数据底座能力,支持在多系统、多业务域并存的复杂环境下构建内部工业软件,以满足企业个性化业务需求。
- 全生命周期数据管理:数据模型为制造业企业提供了多源异构数据融合能力,支持在兼容CAD/CAE/PLM等多源数据的条件下完成从产品设计到制造的全流程数据贯通,以实现研发制造一体化。
数据模型的工作原理
从整体架构上看,xDM-F的数据模型主要由数据实体、关系实体和功能模型三部分构成。其中,数据实体主要负责定义数据对象的基本信息与业务属性;关系实体主要负责描述两个或多个数据实体之间的关联方式;功能模型主要负责对具有相似功能、结构或属性的数据模型进行归一化处理。
- 数据实体负责承载现实世界中客观存在的对象(如人、事、物),分为独立实体和多版本实体(M-V模型),并按模型类型分为实体模型、抽象模型和扩展模型,用于定义数据的基本结构与生命周期。
- 关系实体负责维护实体间的连接,支持1:N组合/聚合关系、M:N关系、M:xN单边不确定关系、UsageLink使用关系及自循环树形关系,为原子接口提供关联查询与操作的承载体。
- 功能模型负责封装可复用的属性集合,当内置功能无法满足需求时,支持自定义功能模型,供其他数据实体在创建时勾选继承,从而降低参数重复性。
在整体运行过程中,数据实体首先作为核心承载体定义业务对象,随后关系实体根据业务逻辑建立对象间的关联,同时数据实体通过勾选功能模型继承特定的标准属性。通过这种“实体+关系+功能”的协同方式,系统能够将复杂的业务逻辑转化为标准化的数据模型结构。
通过上述组成与协同,xDM-F能够实现业务对象的快速定义、复杂关系的灵活构建以及模型属性的标准化复用。这种构成方式有助于屏蔽底层数据库设计的复杂性,从而支撑企业信息系统的高效开发与敏捷迭代。
数据模型与物理表的区别
数据模型与物理表都可用于云上数据保存,并常用于支撑应用和业务数据的持久化需求。
二者在抽象层级与使用方式上存在本质区别:数据模型通过图形化界面和元模型驱动实现业务逻辑的抽象与定义,而物理表则是关系型数据库中具体的底层存储结构。
这种差异主要来自面向对象的不同,即数据模型面向业务语义与系统设计,而物理表面向数据库引擎的存储与执行。
由此,数据模型更适合业务人员与开发人员在设计阶段进行协作与快速迭代。物理表更适合数据库管理员(DBA)在底层进行性能调优与存储管理。在xDM-F中,系统会自动将数据模型(如实体模型)映射并生成对应的物理表,用户无需手动干预。
| 对比维度 | 数据模型 | 物理表 |
|---|---|---|
| 共同点 | 均用于组织和存储业务数据,支撑数据持久化。 | |
| 抽象层级 | 高层业务语义抽象,面向系统设计与业务理解。 | 底层存储结构,面向数据库引擎执行。 |
| 操作方式 | 通过图形化界面可视化配置,屏蔽底层细节。 | 通过SQL语句或数据库管理工具直接操作。 |
| 适用对象 | 业务架构师、应用开发人员。 | 数据库管理员(DBA)、运维人员。 |
数据模型的分类
xDM-F的数据模型作为企业数据元素的可视化表示,通常可按核心构成分为数据实体、关系实体和功能模型。
- 数据实体:作为数据模型的核心构成,通常可按元模型类型分为独立实体(适用于关系上不依附、单独存在的业务对象,如部门)和多版本实体(适用于需要记录历史演变过程的业务对象,如技术文档)。按模型类型可分为实体模型(生成物理表,支持扩展)、抽象模型(不生成物理表,供继承)和扩展模型(运行态创建,共享父模型存储)。
- 关系实体:作为描述数据实体相互关联的模型,通常可按关系类型分为1:N组合/聚合关系(适用于传统主外键或整体与部分关联)、M:N关系(适用于多对多开发协作场景)、M:xN单边不确定关系(适用于基础标签与业务数据的灵活关联)、UsageLink使用关系(适用于复杂数据结构,如汽车与轮胎的使用数量)及自循环树形关系(适用于企业组织架构等上下级关联)。
- 功能模型:作为对相似功能或属性进行归一化处理的模型,主要用于封装可复用的属性集合。适用于需要为标准件(如销、螺栓)或通用组件提供标准接口、降低参数重复性的场景,创建数据实体时可直接勾选继承。
与数据模型相关的操作和特性
完成数据模型的基础介绍后,您可以通过以下核心操作与特性,全面管理模型从设计、发布、扩展到数据探索的全生命周期。
基础建模操作:
- 创建数据实体:定义业务对象的基本信息、业务属性及配置所需功能。
- 创建关系实体:建立不同数据实体之间的关联关系。
- 创建功能模型:定义可复用的抽象逻辑组件,封装公共特性。
- 发布数据实体:发布数据实体使其在运行态生效。
- 发布关系实体:发布关系实体使其在运行态生效。
- 发布功能模型:发布功能模型使其可被数据实体继承使用。
应用发布与部署:
- 应用发布:将应用设计态中定义的所有模型及配置统一发布,生成代码包。
- 部署应用:将已发布的应用代码包部署至运行环境,生成应用运行态。
模型扩展与数据管理:
- 属性库概述:管理数据实体/关系实体的扩展属性。
- 数据实例概述:在运行态创建和管理数据实例。
- 数据模型管理:查看并管理已发布的数据模型。
约束与限制
- 任何实体均可与xDM-F元模型建立关系。
- 单个数据模型(数据实体、关系实体、功能模型)的属性数量上限为1664个。如果应用的数据库类型为MySQL,实体模型(“模型类型”为“实体模型”的数据实体、关系实体)的属性总长度不允许超过16000个字节。
- 创建数据模型时,该模型名称不能和XDM应用中的模型名称相同。
- 如果数据实体与抽象模型建立关系实体,该抽象模型的所有子实体模型均建立或继承了关系。
- 如果数据实体与存在扩展子模型的数据实体建立关系实体,该数据实体的所有扩展子模型均继承关系实体。
- 如果数据实体与功能模型建立关系实体,引用该功能模型的所有数据实体均建立了关系(功能模型不能直接作为父模型被其他实体模型继承,需先在功能列表中添加)。
- 对于“模型类型”为“实体模型”的单实体,支持为其“参考对象”类型属性自主配置组合关系;而对于M-V模型实体、“模型类型”为“抽象模型”的单实体以及关系实体,其“参考对象”类型属性只能定义为非组合关系。