创建关系数据集

功能说明

用于向数据源中创建关系数据集,管理两个数据集对象之间的关联关系。例如,数据集A存储了某行政区域内的不动产单元(地块)信息(不动产单元号、地块用途、面积),数据集B存储了不动产权利人信息(姓名、身份证号、不动产单元号),通过对数据集A和数据集B基于关键字段“不动产单元号”创建一对多关联关系,即可在浏览或查询数据集A中的某地块时,即时关联并获取到该地块对应的权利人所有信息。

在使用此功能前,您需要注意以下限制条件:

  • 支持的数据集类型:二维点/线/面数据集、三维点/线/面数据集、CAD数据集、文本数据集、属性数据集。
  • 数量限制:一个数据集仅支持创建一个关系类数据集。如数据集A已经与数据集B创建关系数据集,则数据集A或B都不能再与数据集C创建关系数据集。
  • 字段类型限制:主键和外键的字段类型必须一致,但不支持二进制和日期字段类型;关系一旦创建,字段名称不可修改,否则将导致关系失效。
  • 数据源类型:仅支持PostGIS、UDBX数据源,不支持其他数据源以及内存数据源。

功能入口

  • 工作空间管理器->数据源右键菜单->新建数据集->关系数据集
  • 开始选项卡->新建数据集分组->关系数据集
  • 工具箱->数据管理->关系数据集->创建关系数据集

参数说明

参数名称 参数释义 参数类型
数据源

设置两个待关联数据集所在的数据源。默认为工作空间管理器中的选中的数据源,可修改。

Datasource

源数据集

设置与关联数据集建立关系的数据集。

如上述例子中的数据集A。

String
关联数据集

设置与源数据集建立关系的数据集。

如上述例子中的数据集B。

String
关系类型

设置两个数据集对象之间的关联行为,提供弱关联和强关联两种。

  • 弱关联(默认项):删除源对象,关联对象的键字段值会变为空值,不会删除关联对象。当前版本暂不支持联动删除。
  • 强关联:删除源对象,关联对象同步删除。当前版本暂不支持联动删除。
String
关系模型

设置两个数据集对象之间关联的逻辑模型,包括一对一(1:1)、一对多(1:N)、多对多(M:N)。

  • 一对一(默认项):源数据集中的一条记录只能对应关联数据集中的一条记录,关联数据集中的一条记录也只能对应源数据集中的一条记录。
  • 一对多:源数据集中的一条记录可以对应关联数据集中的多条记录,但关联数据集中的一条记录只能对应源数据集中的一条记录。在此关系模型中,“一”必须指向源数据集,“多”必须指向“关联数据集”。
  • 多对多:源数据集中的一条记录可以对应关联数据集中的多条记录,关联数据集中的一条记录也可以对应源数据集中的一条记录。
RelationshipCardinalityType
消息方向

设置消息传递方向可决定关联操作的通知范围。以正向(从源到关联)且关系类型为强关联为例:若删除源数据集中的对象A,系统将向关联数据集发送删除通知,并自动删除其中的相关对象;而删除关联数据集中的对象时,则不会向源数据集发送通知,也不会引发任何源数据集上的操作。

当前版本暂不支持相关操作,仅支持创建关系。

提供如下选项:

  • 正向(从源到关联):消息仅从源数据集发送至关联数据集。
  • 反向(从关联到源):消息仅从关联数据集发送至源数据集。
  • 双向:无论在源数据集或关联数据集执行操作,均会向对方发送消息。
  • 无(默认项):不发送任何消息。
NotificationType
正向关系标签 设置从源数据集关联到关联数据集时的关系描述。设置后可通过对象属性面板查看。 String
反向关系标签 设置从关联数据集关联到源数据集时的关系描述。设置后可通过对象属性面板查看。 String
关系数据集

设置生成的关系数据集名称,默认为“源数据集名称_关联数据集名称”。其命名规则与普通数据集命名规则一致。

String
关系属性化

指定关系数据集是否具有属性,即是否需要通过编辑关系数据集属性表来具体定义两个数据集对象之间的关联关系。

  • 选中:关系数据集具备属性。
  • 未选中(默认项):关系数据集不具备属性。
Boolean
源主键

在非关系属性化的一对一和一对多关系中,源主键为源数据集中与关联数据集相关联的字段。而在关系属性化或多对多关系中,源主键为源数据集中与关系数据集相关联的字段。

默认为源数据集的第一个字段,可在下拉菜单中选择对应的字段。

如上述例子中,数据集A的“不动产单元号”字段。

String
源外键

在非关系属性化的一对一和一对多关系中,源外键为关联数据集中与源数据集相关联的字段。如上述例子中,数据集B的“不动产单元号”字段。

而在关系属性化或多对多关系中,源外键为关系数据集中与源数据集相关联的字段。该字段名称需手动输入,编辑时应符合字段命名规则,如不含非法字符、不以“sm”两个连续字母作为开头等。

String
关联主键 在关系属性化或多对多关系中,关联主键为关联数据集中与关系数据集相关联的字段。 String
关联外键 在关系属性化或多对多关系中,关联外键为关系数据集中与关联数据集相关联的字段。该字段名称需手动输入,编辑时应符合字段命名规则,如不含非法字符、不以“sm”两个连续字母作为开头等。 String

输出结果

在数据源节点下新增关系数据集。