
# 通过反向建模将已有数据库物理表转为iDME模型
#### 操作场景
反向建模是从数据库物理表到数据模型的映射。当您的本地服务器中已有数据库和大量物理表，且希望通过工业数字模型驱动引擎-数据建模引擎（xDM Foundation，简称xDM-F）统一管理所有模型时，可使用xDM-F的反向建模功能，将已有物理表反向建模至xDM-F的数据模型中，帮助您无需再次执行创建模型的操作，即可快速创建数据模型，节省了大量时间成本。
当您的本地服务器中已有数据库和物理表，且希望通过工业数字模型驱动引擎（Industrial Digital Model Engine，简称iDME）统一管理所有模型时，可使用反向建模功能，将已有物理表反向建模至iDME的数据模型中。此功能可帮助您无需再次执行创建模型的操作，即可快速创建数据模型，节省了大量时间成本。
 #### 前提条件
- 已[开通iDME设计服务](https://support.huaweicloud.com/consog-idme/idme_consog_0003.html)和[购买iDME运行服务](https://support.huaweicloud.com/consog-idme/idme_consog_0006.html)。本章节以购买体验版数据建模引擎为例。
- 已创建与本地服务器已有数据库类型一致的应用，具体操作请参见[创建应用](https://support.huaweicloud.com/consog-idme/idme_consog_0012.html)。
  即，如本地服务器的数据库类型为MySQL，则创建"数据库类型"为"MySQL"的应用。本章节以MySQL数据库类型为例。
  
- 已获取如下本地服务器的数据库信息，且该数据库可正常连通。
  表1MySQL数据库信息 
  | 类型    | 描述                               |
  |:---|:---|
  | 数据库名称 | database_test                    |
  | 用户名   | root                             |
  | 密码    | 123456                           |
  | 数据库地址 | 192.168.10.10:3306/database_test |
     
  
- 已确定需要将哪些物理表反向生成模型。
 
#### 限制和说明
- 反向建模仅支持将物理表反向创建为数据实体和关系实体。
- 物理表的字段在反向建模时自动解析为对应数据实体/关系实体的属性，且不支持编辑。如需编辑，可在建模后前往该数据实体/关系实体详情页进行编辑，具体操作请参见[管理数据实体属性](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0008.html)和[管理关系实体属性](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0023.html)。
- 待反向建模的数据库需允许公网访问。
更多限制和说明请参见[反向建模概述](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0049.html)。
#### 操作步骤
1. 登录应用设计态，具体操作请参见[登录应用设计态](https://support.huaweicloud.com/consog-idme/idme_consog_0013.html)。
2. 在左侧导航栏中，选择"数据模型管理 \> 反向建模"，单击"新增"，弹出"添加数据源"窗口。
3. 在弹出的窗口中，根据[前提条件]获取的数据库信息，设置如下信息，单击"确定"。
   
   表2数据源-基本信息 
   | 参数     | 参数说明                                                                                                          |
   |:---|:---|
   | 名称     | 填写数据源名称，用户自定义。 示例："database_test"。                             |
   | 数据库地址  | 填写数据库的地址。 示例："jdbc:mariadb://192.168.10.10:3306/database_test"。 |
   | 用户名    | 填写连接数据库的用户名称。 示例："root"。                                         |
   | 数据库类型  | 选择与当前应用相同的数据库类型。 示例：选择"MySQL"。                                 |
   | 开启SSL  | 选择是否开启SSL加密。 示例：保持默认设置，选择"否"。                                  |
   | 开启证书校验 | "开启SSL"选择为"是"时，您可以根据实际业务需求开启证书校验。 示例：保持默认设置，选择"否"。            |
      
   
   
4. 选择刚创建的数据源，单击![](https://support.huaweicloud.com/bestpractice-idme/figure/zh-cn_image_0000001621758664.png)，弹出读取或更新数据的提示框。
5. 在弹出的提示框中，输入连接数据库的密码，单击"测试连接"，
6. 数据库连接成功后，单击"确定"。 
   读取数据需要等待一段时间，您可以单击![](https://support.huaweicloud.com/bestpractice-idme/figure/zh-cn_image_0000001669818837.png)刷新数据源的状态，当"状态"为"读取成功"即表示成功将本地服务器的数据库物理表读取至应用设计态。
   
   
7. 单击![](https://support.huaweicloud.com/bestpractice-idme/figure/zh-cn_image_0000001669958573.png)，进入反向建模页面，确认模型信息。
   
   iDME会根据读取的物理表数据自动生成对应的建模信息和物理表信息，您可以单击"物理表名称"进入物理表详情页进行查看。其中"建模信息"的默认设置如[表3]所示。
    表3物理表的默认建模信息 
   | 配置项    | 默认值              |
   |:---|:---|
   | 实体类型   | 数据实体。            |
   | 沿用表名称  | 是。               |
   | 模型表名称  | 物理表的名称。          |
   | 模型英文名称 | 去除下划线（_）后的物理表名称。 |
   | 模型中文名称 | 物理表的名称。          |
   | 模型英文描述 | -                |
   | 模型中文描述 | 物理表的名称。          |
   | 模型父模型  | BasicObject。     |
   | 模型分类   | 业务数据模型。          |
   | 模型责任人  | -                |
      
   
   
8. 生成的建模信息可能会存在偏差，请根据业务需求和[前提条件]中已确定的建模范围，修改需要创建为数据实体的物理表的建模信息。
   
   表4修改建模信息 
   | 操作类型     | 操作步骤                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   |:---|:---|
   | 批量修改建模信息 | 1. 勾选需要修改的物理表，单击"批量修改"，展开"批量修改模型信息"页面。  2. 在展开的页面，单击"选择修改字段"下拉框，勾选需要修改的字段。 仅支持批量修改"沿用表名称"、"模型分类"和"模型责任人"。   3. 根据业务需求修改相应配置信息，单击"确定"。   具体操作请参见[批量修改建模信息](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0061.html)。 |
   | 修改单个建模信息 | 1. 找到需要修改的物理表，单击![](https://support.huaweicloud.com/bestpractice-idme/figure/zh-cn_image_0000001621459670.png)，展开物理表的详情页面。  2. 根据业务需求修改相应配置信息，单击"保存"。   具体操作请参见[修改建模信息](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0060.html)。                                                                                              |
      
   
   
9. 勾选待建模的物理表，单击"批量建模"。
   
   完成建模后，您可单击![](https://support.huaweicloud.com/bestpractice-idme/figure/zh-cn_image_0000001621463794.png)刷新建模状态，您可在反向建模列表查看本次成功创建的数据实体，以及建模失败的详细信息。
   表5建模状态 
   | 状态   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   |:---|:---|
   | 建模成功 | "状态"显示为"已建模"，"模型编码"显示对应数据实体的编码，"操作"显示![](https://support.huaweicloud.com/bestpractice-idme/figure/zh-cn_image_0000001622520826.png)。 单击"模型编码"或者![](https://support.huaweicloud.com/bestpractice-idme/figure/zh-cn_image_0000001622364810.png)，可前往物理表对应创建的数据实体详情页，查看或者编辑该数据实体。 具体操作请参见[数据实体](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0006.html)。 |
   | 建模失败 | "状态"仍显示为"未建模"，且带有![](https://support.huaweicloud.com/bestpractice-idme/figure/zh-cn_image_0000001670524225.png)标识。 将鼠标移动至![](https://support.huaweicloud.com/bestpractice-idme/figure/zh-cn_image_0000001670684529.png)，显示建模失败的详细信息。                                                                                                                                                                                       |
      
   
   
10. 重复执行[8]，修改需要创建为关系实体的物理表的建模信息。
11. 重复执行[9]，完成反向创建关系实体。
    
    完成建模后，您可单击![](https://support.huaweicloud.com/bestpractice-idme/figure/zh-cn_image_0000001622288062.png)刷新建模状态，您可在反向建模列表查看本次成功创建的关系实体，以及建模失败的详细信息。
    表6建模状态 
    | 状态   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
    |:---|:---|
    | 建模成功 | "状态"显示为"已建模"，"模型编码"显示对应关系实体的编码，"操作"显示![](https://support.huaweicloud.com/bestpractice-idme/figure/zh-cn_image_0000001622607954.png)。 单击"模型编码"或者![](https://support.huaweicloud.com/bestpractice-idme/figure/zh-cn_image_0000001622128254.png)，可前往物理表对应创建的关系实体详情页，查看或者编辑该关系实体。 具体操作请参见[关系实体](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0021.html)。 |
    | 建模失败 | "状态"仍显示为"未建模"，且带有![](https://support.huaweicloud.com/bestpractice-idme/figure/zh-cn_image_0000001670887989.png)标识。 将鼠标移动至![](https://support.huaweicloud.com/bestpractice-idme/figure/zh-cn_image_0000001670767857.png)，显示建模失败的详细信息。                                                                                                                                                                                 |
       
    
    
 
#### 下一步操作
反向建模完成后，您可以在iDME执行如下操作。
| 您可以...        | 进行...                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|
| 进入"枚举类型"页面    | 为数据模型预设枚举值，具体操作请参见[创建枚举](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0068.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 进入"功能模型"页面    | - 自定义功能模型，对数据实体或关系实体的公共特性进行抽象\&接口化，具体操作请参见[创建功能模型](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0037.html)。  - 发布自定义的功能模型，具体操作请参见[发布功能模型](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0041.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 进入"数据实体"页面    | - 查看创建的数据实体，具体操作请参见[查看数据实体](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0013.html)。  - 数据实体属性的添加、修改、删除和上下位置调整，具体操作请参见[管理数据实体属性](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0008.html)。  - 为创建的数据实体添加其他iDME内置的工业数据能力，具体操作请参见[管理功能配置](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0009.html)。  - 发布创建的数据实体，具体操作请参见[发布数据实体](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0010.html)。       |
| 进入"关系实体"页面    | - 查看创建的关系实体，具体操作请参见[查看关系实体](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0027.html)。  - 关系实体属性的添加、修改、删除和上下位置调整，具体操作请参见[管理关系实体属性](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0023.html)。  - 为创建的关系实体添加其他iDME内置的工业数据能力，具体操作请参见[管理功能配置](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0112.html)。  - 发布创建的关系实体，具体操作请参见[发布关系实体](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0024.html)。   |
| 单击右上方的"应用发布"  | 应用的发布，生成相应代码包，具体操作请参见[发布应用](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0085.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 完成发布应用后，返回控制台 | 应用部署至数据建模引擎，具体操作请参见[部署应用](https://support.huaweicloud.com/consog-idme/idme_consog_0022.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 进入应用运行态       | 相关全量数据服务API的开发操作，具体操作请参见[数据建模引擎使用指南](https://support.huaweicloud.com/usermanual-idme/idme_clientog_0001.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   
