关联与联接:Arcgis中属性表的基数

Join vs Relate

ArcGIS中表的relate和join有什么区别?

在两个表中有匹配的唯一ID时,可以创建一个 表格关联表联接 .

A 表联接 根据唯一ID将一个表中的所有列追加到另一个表中。

但是**表相关**会创建一个全新的表。因此,当您在一个表中选择记录时,它将基于所有匹配的唯一ID创建一个临时表。

你什么时候用relate?什么时候使用join?让我们用两个例子来学习。

具有1:1关系的联接示例

联接适用于1:1关系。因此,当两个表中都有一条匹配的记录时,这是使用联接的适当时间。

例如,我们有一个美国城市的形状文件。我们也有一个包含城市和球队名称的NFL球队的电子表格。

Table 1-1 Relationship in ArcGIS

只要我们没有两个同名的城市,这意味着“名称”在“美国城市”形状文件中是唯一的。这也意味着我们有一个1:1的关系,因为没有两个或更多具有相同唯一ID的行。

这是执行联接的最佳情况。当您在这两个表之间创建联接时,它会将“NFL团队”列附加到“美国城市”形状文件中。

Join Table ArcGIS

在ArcGIS中,我们如何像在美国城市形状文件中附加NFL团队名称那样执行连接?

首先,单击表格下拉按钮,然后选择“联接和关联”>“联接”。在这里,您必须从两个表中选择具有唯一标识符的字段。在我们的例子中,它是“名称”和“城市”。

Table Dropdown

如果在联接后导出此表,则它将成为永久表。这意味着附加的列将保留在新表或功能类中。

将示例与1:m关系关联

当一条记录在另一个表中有多个匹配的ID时,这是一对多关系(1-M)。最好在1-M关系中使用关联。

例如,假设我们有一个足球队和球员的列表。每个队有多个球员,每个队都是独一无二的。所以这意味着它是1-M。

Table 1-M Relationship ArcGIS

一个**表格关联** 创建一个全新的表。因此,当您在一个表中选择记录时,它将基于所有匹配的唯一ID创建一个临时表。

例如,如果我们选择休斯顿德克萨斯人队,只有该队的球员才会出现在新的表格中。

Relate Table ArcGIS

为了建立一个关系,我们打开“US_Teams”属性表。首先,您需要单击属性表左上角的表下拉按钮(如下所示)。

Table Dropdown

从下拉列表中,选择“联接和关联”>“关联...”,现在,选择两个表中都匹配的列。就我们而言,是“ NAME”和“ NAME”。最后,选择默认名称“Relate1”或给它另一个名称。

既然我们已经在这两个表中确定了唯一的ID,那么我们就可以在足球队表中选择球队。单击“相关表”>relate1后,将打开一个新表,其中包含所选团队的所有匹配记录。

基数:1-1关系对1-M关系

有三种类型的关系(或基数)。

  • 一对一关系(1-1)

  • 一对多关系(1-m)

  • 多对多关系(M-N)

为了 any type of database ,一对一关系在两个表中有一个匹配的记录。接下来,一对多关系在一个表中有多个与另一个表中的单个记录匹配的记录。最后,多对多表在两个表中都有多个匹配的记录。

在所有情况下,对于任何类型的关系,两个表中都必须存在唯一标识符(或键)。此唯一ID(主键)是相关表(外键)之间的主链接。

ArcGIS中表的表关联与表联接

同时**连接**将属性附加到表的末尾,**关联**为所有匹配的记录创建临时表。

所有表之间的链接基于 基数 (1-1、1-m和m-n)。在两个表中具有匹配的唯一ID这一原则上,联接和关联都是工作。

尽管join对于1-1关系特别有用,但是relate对于1-m关系非常理想。

你对“联系”和“加入”有什么问题吗?请在下面发表评论。