---
order: 2
navTitle: 敏捷建模
---
# 导入数据库模型

在SuccBI中数据库物理表不能直接被系统的可视化分析、表单、应用等模块使用，它必须先转换为逻辑模型(如数据加工、APP模型)后再进行应用。相比物理表，逻辑模型能更好的、统一的管理模型的信息，比如可以给模型和字段设置业务化的名称、管理模型的关联关系、管理模型的聚集、子集、索引性能优化信息等。

数据模块中提供了导入数据库表模型的功能，可以便捷、灵活的将存储在外部数据库中的物理表导入为逻辑模型，并进行加工或查询分析。

## 操作步骤{#steps}

![导入数据库表](./images/import-table.gif)

示例地址：[导入数据库模型](https://demo.succbi.com/v5/DEMO/data?:open=S47AQMDcqhBS9lyYPzMDEF)

1. 新建：在项目的数据模块中，点击**新建** > **数据库表模型**
2. 选择表：在选择表对话框中选择需要导入的表，可以结合`Ctrl`或`Shift`快捷键多选
3. 模型名称：设置导入后生成模型的名称
4. 模型描述：设置导入后生成模型的名称
5. 提取目标表名：导入的数据加工模型的目标数据库表名，仅在[提取数据](#extract-data)连接模式下可见并可修改，默认在**数据库表/视图**的基础上增加前缀`ods_`
6. 导入目录：下拉目录树中选择导入模型的资源存储路径，默认为项目的根目录，如果导入时已经在模型资源导航树上选中了目录，则默认为选中的目录
7. 连接方式：连接方式分为**实时连接(只读数据)**、**实时连接(读写模式)**、**提取数据**，选择**提取数据**，具体详见[实时连接与提取数据](#connect-method)
8. 定时调度：仅在连接方式为**提取数据**时可以设置，为导入的数据加工模型直接指定一个已存在的[调度计划](../schedule/README.md)，用来定时更新模型数据。
9. 提取数据：数据库表导入为模型后，在弹出的提取数据对话框中点击**确定**，可立即提取模型表的数据

### 数据表导入模型{#data-table-import}

除了通过新建数据库表模型的方式导入外，还可以在项目的数据源中选择物理表后在右键菜单中选择**导入为模型**来导入。
![从数据源导入](./images/2021-07-07-17-31-33.png)

::: tip 提示
数据库物理表导入为模型使用后，如果后续物理表发生了变化，可以通过[物理模型与逻辑模型差异同步](./model/README.md#sync-table)按钮进行同步
:::

## 实时连接与提取数据{#connect-method}

### 实时连接{#connect-realtime}

当需要基于来源表进行实时的数据查询分析或需要更新来源表的结构或数据时，选择实时连接方式，具体又分为**实时连接(只读模式)**与**实时连接(读写模式)**。

#### 实时连接(只读模式){#read-only}

实时连接(只读模式)主要用于实时的数据分析，导入后的模型是只读的[APP模型](./model/model-data-type.md#app)，不能修改表的结构和数据。

::: tip 提示
以实时连接(只读模式)方式导入后，在模型的基本属性栏中，去掉[只读数据](./model/model-settings.md#read-only)的勾选，可转换为[实时连接(读写模式)](#read-write)。
:::

#### 实时连接(读写模式){#read-write}

实时连接(读写模式)主要用于需要在应用中更新来源表的数据或结构的场景，导入后的模型是可读可写的[APP模型](./model/model-data-type.md#app)。

::: tip 提示

1. 以实时连接(读写模式)方式导入后，在模型的基本属性栏，勾选[只读数据](./model/model-settings.md#read-only)，可转换为[实时连接(只读模式)](#read-only)。
2. 当来源表数据源与[项目的默认数据库]()相同时，默认为该连接方式
   :::

### 提取数据{#extract-data}

**提取数据**模式通常用于将上游数据库的表归集到数据仓库中，导入后的模型是[数据加工模型](./model/model-data-type.md#dataflow)。

::: tip 提示
当来源表数据源与[项目的默认数据库]()不相同时，默认为该连接方式
:::
