动态数据集
动态数据集是概念模型的主要数据集方式,也是用户用的最多的方式。
动态数据集本身支持以下五类数据源。
数据源 | 获取数据 | 提交数据 |
---|---|---|
表 | 查询数据表 | 更新本表 |
视图 | 查询视图 | 如果视图中涉及多张表,支持设置一张表为更新数据表 |
SQL | 执行一个 sql 语句,相同服务器的跨库查询时,在表名前加上数据库名.实例名 | 如果 sql 中涉及多张表,支持设置一张表为更新数据表 |
存储过程 | 执行一个存储过程,输出参数仅支持数据集和记录数。相同服务器的跨库调用时, 在存储过程名称前加上数据库.实例名 |
如果存储过程中涉及多张表,支持设置一张表为更新数据表 |
服务 | 调用内部服务(gox5 服务)或外部服务(openapi 服务)获取数据 | 支持设置一张表为更新数据表 |
其中视图数据集和 SQL 数据集使用上比较类似,主要区别在于,视图数据集会在物理数据库建立视图,而 SQL 数据集只是平台自己定义的功能,定义描述是保存在应用里边。在使用场景上,SQL 数据集可以在 SQL 语句中添加变量传参使用,而视图数据集不支持在 SQL 语句中添加变量。可以理解为,SQL 数据集是对视图数据集的一种扩展。
具体这五类数据源的使用,可以参考各数据源的章节文章。
动态数据集的功能
主要功能如下:
- 查询数据:从不同的数据源中获取数据,数据中必须包括动态数据集的所有列标识。
- 更新数据:支持更新一张数据表,数据源为数据表时,无需设置,系统自动更新本表。其他数据源通过设置更新数据表以及字段映射,系统进行更新。
- 扩展功能:动态数据集支持定义数据集参数,数据集参数的说明参考《数据集参数》。
不同数据源查询功能的支持
数据集上有很多查询功能特性,对五类数据源的支持程度不一样,参考下图:
表 | 视图 | SQL | 存储过程 | 服务 | |
---|---|---|---|---|---|
指定返回列 | Y | Y | Y | Y | Y |
去重 | Y | Y | Y | Y | Y |
字段过滤 | Y | Y | Y | N | N |
字段排序 | Y | Y | Y | Y | Y |
数据分页 | Y | Y | Y | Y | Y |
关联查询 | Y | Y | Y | N | N |
子查询 | Y | Y | Y | N | N |