连接表的基本知识

数据连接通常用于通过两个表的公共属性或字段将一个表的字段追加到另一个表中。可以选择基于属性或预定义的地理数据库关系类来定义连接,或者也可以按位置定义连接(也称作空间连接)。对于要连接的地理数据库数据,如果已在地理数据库中为其定义了一个关系类,将只列出基于关系类的连接。

可将多个表或图层连接到一个表或图层,并且可将关系类连接与属性连接混合使用。移除某个连接表时,同时会移除在该表之后所连接的表中的所有数据,但会保留之前所连接的表中的数据。移除连接后,基于追加列的符号系统或标注会恢复到默认状态。

大多数情况下,追加列以 <表名称>.<字段名> 形式命名。当目标表和连接表具有相同的字段名时,此命名约定可防止字段名重复。如果不想像上面那样显示完整字段名称,可单击“表”窗口的表选项按钮 表选项,然后单击显示字段别名打开或关闭此选项。启用此选项时,选项菜单上此选项旁将显示复选标记显示字段别名,字段的表名称前缀将不再显示。

以下连接表中的字段名即以表名称为前缀:

字段名以表名称为前缀的连接表

以下连接表仅显示字段别名:

仅显示字段名的连接表

了解有关连接和关联表的详细信息

连接数据之前对数据进行汇总

根据数据的组织方式,在将数据连接到图层之前可能需要汇总表中的数据。汇总表时,ArcMap 会创建一个新表来包含从表获得的汇总统计数据。可以创建各种汇总统计数据,包括计数值、平均值、总和、最小值和最大值。

例如,假定您要创建州而非县气象地图,但您仅拥有县的气象信息。您可以为州汇总各县的数据(例如,查找一个州内所有县的平均降雨量),然后通过将新建的输出表连接到州图层创建一个关于州的降雨量气象地图。

汇总图表数据以使其能与地理数据连接的示例

编辑和连接表

注注:

编辑连接的数据时,无法直接编辑连接的列。要编辑连接的数据,必须首先将连接的表或图层添加到 ArcMap 中。然后便可单独对该数据执行编辑操作。这些更改将反映在连接列中。

连接验证

在创建连接前,可使用连接数据 对话框上的验证连接按钮可对其进行分析。连接验证用于评估在创建连接时可能遇到的任何潜在问题。连接验证将对两个参与数据集进行分析,以确定数据是否存在任何常见问题。以下列出了数据中要检查的内容:

出现上述四个问题中的任何一个都可能会导致连接字段在属性表中显示空值或导致选择和记录数不正确。分析 coverage 数据时,连接验证将字符符号、数字符号 (#)、美元符号 ($) 和连字符 (-) 作为合法字符;检查 ArcSDE 软件连接数据的字符时,句号 (.) 为合法字符。如果字段名称以上述任一字符开头,仍将出现警告。

连接验证将检查以下字符:

无效的起始字符:`~@#$%^&*()-+=|\\,<>?/{}.!'[]:;_0123456789

无效的包含字符: `~@#$%^&*()-+=|\\,<>?/{}.!'[]:;

连接验证还会告知您创建连接后将匹配的记录的数目。可计算成功匹配的记录的百分比,如果匹配的记录数与预期不符,还可确定数据中是否可能存在其他错误。使用文本字段创建连接时,如果本应匹配的记录存在拼写错误或因字符大小写导致找不到匹配项,则可能会出现上述情况。如果连接验证计算出的匹配记录数大于源数据集中的记录数,将显示一条警告消息,指明在参与的数据之间存在 1:M 或 M:M 的关系,您不应使用连接将这些数据集关联在一起,而应使用关联或关系类。

连接验证工作原理的示例

有关连接数据的性能提示

来自追加字段的数据可用于对要素进行符号化和标注以及执行查询等许多其他操作。访问连接的数据会比访问目标表中的数据要慢,因为需要执行额外的工作来维护连接。

处理连接的数据时可使用以下提示来改善性能:

连接表可能失败的原因

执行连接操作之后,连接表字段中的值可能显示为空或 null。显示 Null 值的原因有如下多种:

相关主题


7/10/2012