# 创建数据实体
#### 实体创建方式概述
系统提供多种方式生成数据实体，包括自定义实体参数、集成xDM-F模型信息、逆向建模、导入数据实体等。
- **自定义实体参数**：自定义实体相关参数生成实体模型。
- **同步xDM-F模型**：集成xDM-F应用下的模型信息自动生成正在工作的LinkX-F实体，快速同步xDM-F模型定义与属性信息。
- **逆向建模**：将用户已有数据库的数据转换为模型，快速复刻复杂实体及实体对应的多个属性。
- **导入数据实体**：通过上传xlsx文件，一次性批量导入实体及其属性。
 
#### 前提条件
已获取开发人员及以上权限用户的账号和密码。
#### 通过自定义参数方式创建实体
1. 登录LinkX-F系统首页。
2. 选择"模型设计 \> 数据模型管理"，默认进入"数据实体"页面。
3. 单击"创建"，弹出"创建数据实体"页面。
4. 填写基本信息和物理表信息，如[表1]和[表2]所示。
   
   图1创建数据实体
   ![](https://support.huaweicloud.com/instg-idme/figure/zh-cn_image_0000002501850940.png "点击放大")
    表1基本信息 
   | 参数    | 说明                                                                                                                                         |
   |:---|:---|
   | 英文名称  | 定义数据实体的英文名称，需根据不同的行业、领域或应用，确保英文名称能够准确表达其代表的含义和作用。 必填，需以大写英文字母开头，只能包含英文字母、数字和_，长度不能超过256个字符。 |
   | 中文名称  | 定义数据实体的中文名称，使其与实体的英文名称相对应。 必填，只能包含中文、英文字母、数字、_、-，长度不能超过128个字符。                               |
   | 别名   | 定义数据实体的别名，使其无需受限中英文名称的唯一性等约束。 非必填，系统默认自动写入英文名称，支持手动修改，长度不能超过128个字符。                            |
   | 英文描述 | 填写实体的简单英文描述信息。 非必填，不能包含中文字符，长度不能超过1024个字符。                                                  |
   | 中文描述 | 填写实体的简单中文描述信息。 非必填，长度不能超过1024个字符。                                                             |
   | 责任人   | 选择数据实体的责任人。 必填，下拉可选值来源于"用户权限管理"中已添加的用户。                                                         |
   | 关联领域 | 选择数据实体的关联领域。 非必填，下拉可选值来源于"基础数据管理 \> 领域"的数据。                                                 |
   | 源系统   | 选择数据实体的源系统。 非必填，来源于"基础数据管理 \> 源系统"中的数据。                                                     |
   | 是否主数据  | 在"数据模型图谱"中，此数据实体是否作为主数据节点显示。 必填，可选"是"或"否"。                                                |
   | 产品阶段 | 数据实体在产品全生命周期中所处的阶段。 必填，下拉可选值："分析态"、"设计态"、"生产态"、"运行态"。                                          |
      
    表2物理表信息 
   | 参数    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   |:---|:---|
   | 是否构建表  | 必填，可选"不构建表"、"构建物理表"或"关联物理表"，默认为"不构建表"。 - **不构建表**：指先生成一个逻辑实体，在后续发布后需新增关系型数据库映射与数据库中的物理表进行映射。  - **构建物理表**：基于定义的实体和属性在数据库中建立数据表，发布后自动生成对应的关系型数据库映射。  - **关联物理表**：根据关联的物理表生成数据实体、属性及映射信息。                                                                           |
   | 数据源     | 仅当"是否构建表"选"构建物理表"时才显示且必填。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | Schema | 指关系型数据库中的表结构，定义了表中的列名、数据类型、约束条件等信息。一个关系型数据库可以包含多个Schema，每个Schema包含多个表。 仅当"是否构建表"选"构建物理表"时才显示且必填，根据已选"数据源"下拉选择Schema。                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 表名称   | 数据库表名。必须以字母开头，只能包含字母、数字和_，且不能与其他实体的表名称重复，长度限制为26个字符。 仅当"是否构建表"选"构建物理表"时才显示且必填。                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 物理表  | 仅当"是否构建表"选"关联物理表"时才显示且必填。单击输入框弹出"选择物理表"弹框。 - 数据库类型：选择数据库类型，包括Oracle、PostgreSQL、MySQL、SQL Server。  - 数据源名称：只可选择有权限的数据源。  - Schema：下拉自定义选择。  - 物理表：输入物理表名称。   |
      
   
   
5. 填写完后单击"保存"。
 
#### 通过同步xDM-F方式创建实体
通过xDM-F同步任务，可以将xDM-F数据实体模型及其属性信息同步至LinkX-F系统，快速生成与xDM-F模型相对应的LinkX-F数据实体。这些实体被存放在指定租户下，状态为"正在工作"，"模型来源"显示为"xDM-F"。有关如何同步xDM-F应用下模型数据，请参考[xDM-F数据同步功能使用指引](https://support.huaweicloud.com/instg-idme/idme_instg_0321.html)。
**请注意，xDM-F来源的数据实体存在以下修改限制：**
- 在"基本信息"中，不支持对"责任人"、"关联领域"、"源系统"、"是否主数据"、"产品阶段"和"标签"外的其他字段进行修改。
- 在"数据实体属性"中，仅支持上移、下移、置顶对应的自定义属性，其他操作均不支持（如新增、修改、删除、生效、失效等）。
 
#### 通过逆向建模方式创建实体
逆向建模是指将用户已有关系型数据库的物理表转换为模型，通过逆向建模生成的数据实体默认关联物理表，保存后不可修改。配置逆向建模生成数据实体时，既能根据已识别的物理表间的单列外键约束关系自动创建非实体类关系，也能手动添加确认物理表间的关联关系，生成关系实体。
**逆向建模生成的数据实体和非实体关系模型，其名称根据规则自动生成，说明如下**：
- 数据实体名称显示为***{物理表名** **}*** ，非实体关系名称显示为***{数据库中的外键约束名称}***。
- 系统会自动校验名称中是否存在非法字符以及名称是否重复。如果存在非法字符，将按照中英文名称的规范要求去除名称中的非法字符；如果首字符非字母，则会在数据实体名称前添加"DM_"前缀；如果名称重复，则会在其后添加"_01"、"_02"等后缀。
**逆向建模生成的** **数据模型属性** **将自动与LinkX-F中的系统基本属性及自定义属性进行适配，规则如下：**
- 在适配LinkX-F属性时，如果数据库字段的英文名称（不区分大小写）及类型与LinkX-F中的系统基本属性一致时，则被视为系统基本属性；如果英文名称不相同，则被视为自定义属性；如果英文名称相同但类型不同，也会被视为自定义属性，并在属性英文名称后添加"_01"、"_02"等后缀，同时使属性的中文名称与英文名称显示相同 。
- 在适配LinkX-F属性时，如果数据库字段含中文字符，将自动移除英文名称以及英文描述中的非法中文字符；如果自定义属性的英文名称重复，则自动在其后添加"_01"、"_02"等后缀；如果自定义属性和系统基本属性的中文名称重复，则自动在其后添加"_01"、"_02"等后缀。
1. 登录LinkX-F系统首页。
2. 选择"模型设计 \> 数据模型管理"，默认进入"数据实体"页面。
3. 单击列表上方"逆向建模"，弹出"逆向建模"窗口。 
   图2逆向建模   
   ![](https://support.huaweicloud.com/instg-idme/figure/zh-cn_image_0000002502019992.png "点击放大")
   
   
4. 填写参数信息，如[表3]所示：
   
    表3参数信息 
   | 参数       | 说明                                                                                             |
   |:---|:---|
   | 数据库类型      | 必填，选择关系型数据库类型，可选Oracle、PostgreSQL、MySQL、SQL Server。                                           |
   | 数据源名称   | 必填，只可选择当前租户下的数据源。 下拉可选值来源于"基础数据管理 \> 数据源"中的数据。 |
   | Schema | 必填，Schema类似于分区。                                                                                |
      
   
   
5. （可选）单击"采集元数据"，系统自动获取所选数据源下的所有物理表。 
   当关系型数据库下的物理表较上一次采集有更新时，您可通过"采集元数据"获取最新的物理表。
   
   
6. 在物理表列表中，勾选所需物理表，单击"下一步"。 
   您也可单击字段旁的![](https://support.huaweicloud.com/instg-idme/figure/zh-cn_image_0000001948228097.png)，执行条件筛选，并基于筛选结果勾选物理表。
   ![](https://support.huaweicloud.com/instg-idme/public_sys-resources/note_3.0-zh-cn.png)
   支持选择已创建过实体的物理表来重复创建实体，且选中物理表的数量单次不能超过20个。
   
   
7. 在物理表关系建模阶段，单击"添加"，输入关系实体信息。 
   如果勾选了"自动识别主外键关系"，系统将自动识别已勾选物理表间的**单列外键约束** 关系，并生成相应的非实体关系信息，且仅关系实体的英文名称和中文名称支持修改。
   ![](https://support.huaweicloud.com/instg-idme/public_sys-resources/note_3.0-zh-cn.png)
   单列外键约束建立表与表之间的关联关系时，通过单个字段来作为外键进行关联。例如，在一个订单表中，通过单列外键将"客户ID"与客户表中的"客户ID"相关联，以表示订单与客户间的关联关系。
   
   
8. 单击"确定"，弹出逆向建模生成结果窗口。
 
#### 通过导入文件方式创建实体
您可通过导入文件方式来批量新增实体，导入实体之前需先获取模板。还可进入"我的工作空间 \> 导入任务"查看已创建的导入任务进行状态（详细请参见[查看我的导入任务](https://support.huaweicloud.com/instg-idme/idme_instg_0005.html)）。
请注意，在导入文件时，系统会根据数据实体编码是否为空，来决定对即将导入的数据实体执行新增还是更新操作。
- 如果数据实体编码为空，则进行新增操作。
- 如果数据实体编码不为空，则进行更新操作。在更新数据实体时，系统会自动校验实体是否属于当前租户，并检查实体状态是否为正在工作状态。
1. 登录LinkX-F系统首页。
2. 选择"模型设计 \> 数据模型管理"，默认进入"数据实体"页面。
3. 获取模板。
   
   在列表上方选择"数据实体批量操作 \> 下载空模板"。
   
   
4. 填写模板文件。
   
   根据[3]获取模板文件，填写信息后保存。
   
   
5. 导入数据实体。 
   1. 在列表上方选择"数据实体批量操作 \> 批量导入"，弹出批量导入页面。
      图3数据实体批量导入   
      ![](https://support.huaweicloud.com/instg-idme/figure/zh-cn_image_0000002501860698.png "点击放大") 
   
   2. 选取[4]中提前准备好的文件，单击"确认上传"。
   
   
   
   
 
