数据关系选项

可通过多种方式建立数据关系,其中包括在地图中临时连接或关联表,或者在地理数据库中创建可以保持更长久关联的关系类。

单击以下链接以进一步了解各个数据关系选项:

请参阅数据关系比较以获取表格矩阵,该信息可帮助您确定要使用的数据关系选项

提示:

要了解将这些数据关系选项应用于实际情景的详细信息,请访问此向导式 Learn ArcGIS 课程,该课程深入讨论了工作流步骤以及创建连接和关联所需的数据,并使用关系类改进了露营地数据的质量。

连接

连接是一种临时表关联,连接表中的字段和记录与输入表中的字段和记录匹配,并且会自动追加到后者中。

创建连接后,生成的连接信息存储在图层属性中,并且暂时保留在创建连接的地图中,可以随工程保存。 只有具备工程访问权限的用户才能看到连接的信息。

连接基于一个公共键字段,该字段必须存在于两个参与表中。 该字段在两个表中的名称可以不同,但是在两个表中,字段的数据类型或字段中存储的信息或值的类型必须相同。

连接支持的数据类型包括要素图层、表、表视图和包含栅格属性表的栅格图层,并且可以选择两个基数选项之一。

  • 一对一 (1:1)
  • 多对一 (M:1)
    注:

    一对多 (M:1) 或多对多 (M:N) - 可以在存在一对多或多对多关系的情况下创建连接,但是,根据数据源的不同,工具和其他图层特定设置的工作方式也会有所不同。 连接同一个地理数据库中的表时,默认选项为保留所有记录。 如果使用 shapefile 或 dBASE 表等非数据库数据创建连接,则只返回第一条匹配记录。

    要详细了解如何使用多种输入进行连接以及可能的结果,请参阅添加连接

在以下示例中,各个自然资产(国家公园)由特定组织管理。 为了维护数据的一致性,已使用多对一连接将 National Parks 图层中的记录与其特定组织关联,更全面地呈现了各个公园资产的情况及其所有者。

多对一连接的示意图
已在 National ParksOrganizations 表之间创建连接。

建立连接后,会从连接表和输入表创建一个虚拟表。 生成的连接信息存储在图层属性中,并且暂时保留在创建连接的地图中,可以随工程保存。 连接的表中的附加字段可用于对图层要素进行符号化、标注或分析,在添加或移除连接时,会保留别名、可见性和数字格式设置等字段属性。

有关连接的详细信息,请参阅连接和关联简介

提示:

如果没有公共字段,但有公共位置,则可以执行空间连接。 空间连接与属性驱动型连接、关联以及关系类不同,因为它不是动态连接,需要将结果保存到新的输出图层中。 空间连接根据空间关系(例如邻近和包含)决定要连接的要素。 有关空间连接的详细信息,请参阅按位置连接数据

关联

关联是 ArcGIS Pro 中图层的属性。 关联通过键字段关联一个表或多个表,而不是以物理方式连接这些表。

在关联中,表保持独立,不显示物理连接。 此外,当选择一个表中的要素或记录时,将选择相关联的表中与键字段关联的相关记录,您可以访问和分析这些相关数据。

关联对于数据分析、浏览和可视化任务而言很有帮助。 通过建立关联,可以轻松地访问有关要素或位置的附加信息,而无需复制数据。 例如,可以在城市图层和年降雨量数据表之间创建关联,以查看各个城市的降雨量数据。

可以为 shapefile 和地理数据库要素类创建关联,在记录之间,可以选择三种基数选项之一。

  • 一对一 (1:1)
  • 一对多 (1:M)
  • 多对多 (M:N)

    有关添加和使用关联的详细信息,请参阅添加关联

关联只能存在于工程或图层文件中,仅在工程处于打开状态时可用。 要保存关联以在另一个工程中使用或创建永久关联,可以相应地使用将图层保存至文件创建关系类等地理处理工具。

例如,在公园管理情景中,关联有助于将静态详细信息(如露营点名称和位置)与动态信息(如入住登记和退房时间、场地情况和宠物规定)联系起来。 在以下示例中,在单个露营点和露营点属性之间创建了一对多关联。 通过创建关联,可以查询单个露营点并访问描述露营点详细信息的多个相关属性。

一对多关联的示意图
已在单个 Campsites 和可用的 CampsiteAttributes 之间创建关联。

有关关联的详细信息,请参阅连接和关联简介

关系类

关系类是地理数据库中的数据集类型,它存储有关两个要素类之间、要素类与非空间表之间或两个非空间表之间相关记录的关系或关联信息。

关系类以物理方式存储并保留在地理数据库中,可长久维护数据关系。 在地理数据库中,一次仅可创建一个关系类。 任何有权访问关系类所在的地理数据库的用户,以及有权访问参与关系类的数据集的用户,都将能够访问关系类。

关系类中的两个参与数据必须存储在同一地理数据库中。 与要素类相似,可以创建关系类并将其保留在地理数据库的根级别或要素数据集内。 关系类通过两个表之间的主键-外键关系定义,并且可以选择三个基数选项之一。

可以设置一个关系类,这样编辑表中的记录时会自动更新另一个表中的相关记录。

在下方示例中,在野营地设施点和位于各个野营地的露营点之间创建了一对多关系类。 使用此一对多关系时,可以选择单个野营地,访问其关联的设施点以及该野营地各个野营点的属性。

一对多关系类的示意图
Campground Facilities 和分配至各个野营地的单个 Campsites 之间创建了关系类。

创建后,关系类会保留在地理数据库中,支持参与数据集之间的复杂关系和交互。 使用关系类时,可以设置规则和属性以控制某个表中的数据被编辑时发生的行为,以及确保仅应用有效编辑。 此关系类行为有助于确保数据完整性,使数据管理更加一致、高效。

例如,如果删除源表中的野营地,则相关目标表中分配至该野营地的相应露营点也会被删除,从而保持数据的准确性和可靠性。

一对多复合关系类的示意图
Campground Facilities 和分配至各个野营地的单个 Campsites 之间创建了一对多复合关系类。 建立关系类后,删除父(源)表中的野营地会对 Campsites(目标)表中专门关联至该野营地的露营点执行级联删除。

在创建关系类时,可以指定是否设置关系类的属性。 属性关系类可存储附加属性值以及与关系类本身相关的详细信息。

要了解有关关系类的详细信息,请参阅地理数据库关系类类型

相关主题


在本主题中
  1. 连接
  2. 关联
  3. 关系类