更新时间:2024-11-04 GMT+08:00
分享

数据模型概述

数据模型是对企业的数据元素及其彼此之间关系的可视化表示。 模型通过帮助在相关业务流程的上下文中定义和精心组织数据,可以为开发有效的信息系统提供支持。 借助这些模型,业务和技术资源可协同决定整个组织中数据的存储、访问、共享、更新和使用方式。

基于元模型驱动(2种元模型实体和6种元模型关系),工业数字模型驱动引擎-数据建模引擎(xDM Foundation,简称xDM-F)的数据模型包括数据实体关系实体接口模型三种类型。应用责任人或应用开发人员可通过图形化方式进行建模,无需关心底层数据表的设计,通过创建数据模型即可定义应用的数据模型格式。

数据实体

实体指现实世界中客观存在的并可以相互区分的对象或事物,可以是具体的人、事或物,也可以是抽象的概念或联系。这些独立事物个体的特性称为实体属性,每个实体都具有多个属性。在xDM-F中,这些独立的事物个体都可以看做是数据实体。数据实体是xDM-F原子接口的承载体之一,用于定义数据对象的基本信息、业务属性以及配置所需的功能(如基础数据服务、树形结构、生命周期管理等)。

数据实体按元模型类型的维度分为如表1所示类型。

表1 元模型实体

类型

说明

独立实体

又称“单实体”,适用于关系上不依附、不隶属,单独存在的业务对象。例如,企业的组织架构、部门、机房等。

创建数据实体时,“父模型”“BusinessObject”“BasicObject”的数据实体均为单实体。

多版本实体

又称“Master-Version(M-V)模型实体”,适用于只对同一业务对象进行局部的改进,或者需要对业务对象的历史演变过程进行记录和维护。例如,研发过程的技术文档、部件等业务对象会不断修改,需要能够随时查看历史版本数据及修改记录。

创建数据实体时,“父模型”“VersionObject”的数据实体均为M-V模型实体。

数据实体按模型类型的维度分为如表2所示类型。

表2 模型类型

类型

说明

实体模型

指具体的、有形的、实际存在的实体材料,例如文档、产品、汽车零部件等。

可在设计态创建数据实体时选择。实体模型的数据实体会生成一个物理表,可用于运行态扩展子模型。

抽象模型

指通过语言、符号、图表、数字等抽象形式反映实体内在联系和特征的模型。

可在设计态创建数据实体时选择。抽象模型的数据实体不会生成物理表,但可在创建数据实体时,被数据实体继承。即创建数据实体时,“父模型”可以选择抽象模型的数据实体。

扩展模型

当实体模型的属性不能满足实际业务需求,需要添加新属性但不能修改既有模型结构时,可通过扩展模型来扩展属性。

在运行态创建的数据实体均为扩展模型,且该扩展模型作为“父模型”对应实体模型的子类,与父模型共享存储,只允许添加扩展属性。

创建扩展模型数据实体时,“父模型”只能选择具有“扩展类型”功能的实体模型。

关系实体

关系实体用于描述两个或更多数据实体相互如何关联,是xDM-F原子接口的承载体之一。

基于xDM-F支持的数据关系,提供如下关系类型:

表3 元模型关系

类型

说明

1:N组合关系

又称“参考关系”,主要用于为对象之间建立1:N或主外键关系,可分为:

  • 组合关系:1:N组合关系,即整体和部分的关系。例如公司和部门,如果公司不存在了,部门也不存在了。
  • 非组合关系:1:N聚合关系,即普通的1:N参考关系或主外键关系。例如部门和员工,一个部门有多个员工。

在创建属性时,将属性的“类型”定义为“参考对象”,则属性对应的数据模型具有参考关系。

适用于传统主外键数据的关联。例如,一个部门可以有多个员工,它们之间为一对多聚合关系;公司是部门的父项,部门随着公司而存在,它们之间为一对多组合关系。

说明:

关系实体和M-V模型实体只支持定义非组合关系的参考对象属性。

1:N聚合关系

M:N关系

即多对多关系,用于为数据实体/接口模型建立M:N关系。

创建关系实体时,“关系类型”“多对多”的关系实体均具有此关系能力。可为应用运行态提供:创建/删除关系实体实例,查询关系实体,获取关联实体/被关联实体清单等操作。

适用于为不同数据实体/接口模型建立多对多关系。例如,在汽车电器相关的零件开发中,工程师和零件开发为多对多关系。一个工程师可进行多个零件开发,一个零件可由多个工程师进行开发。

M:xN关系

又称“单边不确定关系”,用于为一边不确定的数据实体/接口模型建立M:N关系,不确定的数据实体或接口模型(目标端)默认为基类抽象模型“basicObject”

创建关系实体时,“关系类型”“单边不确定”的关系实体均具有此关系能力。可为应用运行态提供:创建/删除关系实体实例,查询关系实体,查询目标端对象等操作。

适用于基础数据与业务数据的关联。例如,标签数据与业务数据的关联。标签可给任何对象打标签,在创建实例时确定打标签的目标端对象。

UsageLink使用关系

又称“多叉树关系”,适用于实现复杂的数据结构的存储,高效地查找数据,方便管理节点数据的场景。例如,部件和部件之间的使用和被使用关系。一辆汽车有四个轮子,汽车和轮胎都是部件,创建一个关系实体承载汽车和轮胎的使用关系,并在关系实体上定义一个“使用数量”属性用于标识一辆汽车使用了四个轮胎。

自循环树形关系

又称“树形结构”,是数据对象之间存在着“一对多”的树形关系的数据结构,适用于数据间上下级的关联。例如,企业的组织结构、软件应用的结构、工作计划、项目管理等。

创建数据实体/关系实体时,通过勾选xDM-F内置的“树形结构”“分类管理”“文件夹管理”等能力实现。

接口模型

xDM-F内置了多种功能,在创建数据实体/关系实体时,不仅自具备从xDM-F继承的基本功能能力,还可根据实际业务需求勾选xDM-F提供的可选功能,每个功能会继承一个或者多个属性。每勾选一个功能,该实体会自动生成相应功能继承的一个或者多个属性。当xDM-F内置的功能无法满足您实际业务需求时,可通过接口模型进行定义。自定义的接口模型将作为自定义功能,在创建数据实体时,被数据实体通过勾选自定义功能的方式被继承和使用。

在已经确定的应用数据模型结构上,需要对具有相似功能、相似结构、相同属性的数据模型进行归一化处理,可通过接口模型定义这些相似功能、相似结构和相同属性。为这些数据模型提供了标准接口,降低参数的重复性,方便管理模型属性。

例如机械产品中,各部件间有一部分是通过销、铆钉、螺栓等常用标准件直接连接,有一部分是通过联轴器、减速器等部件间接连接。尽管这些常用的零部件大多都已经实现系列化或标准化,但这些零部件易损坏,产品在多次更换过程中需要反复操作和记录。您可以分别创建包含这些具有相似功能的零部件接口模型,然后在创建数据实体时,勾选对应接口模型即可继承该接口模型的属性和关系。

使用说明

  • 任何实体均可与xDM-F元模型建立关系。
  • 单个数据模型(包括数据实体、关系实体和接口模型)下的属性数量不允许超过1664个。如果应用的数据库类型为mysql,则单个数据模型(包括数据实体、关系实体和接口模型)下,其属性总长度不允许超过16000个字符。
  • 若数据实体与抽象模型建立关系实体,该抽象模型的所有子实体模型均建立或继承了关系。
  • 若数据实体与存在扩展子模型的数据实体建立关系实体,该数据实体的所有扩展子模型均继承关系实体。
  • 若数据实体与接口模型建立关系实体,引用该接口模型的所有数据实体均建立了关系(接口模型不能直接作为父模型被其他实体模型继承,需先在功能列表中添加)。

相关文档