在 Standard 或 Advanced 许可等级下可用。
创建关系类
源中必须有主键字段且目标中必须有外键字段,这样才可创建关系。
定义完主键和外键字段后,便可使用以下三种工具之一创建关系类:
- 在 ArcCatalog 或 Catalog 窗口中,右键单击地理数据库或要素数据集,然后单击新建 > 关系类。使用新建关系类向导设置关系属性。
- 位于其中一个地理处理框架环境中,可使用“创建关系类”工具创建新关系类。可通过该工具在一个对话框面板中指定与“新建关系类”向导相同的参数。它位于“数据管理工具”工具箱 > 关系类工具集中。
- “表至关系类”工具也位于“关系类”工具集中。与先前两个工具不同,该工具允许指定现有中间键表,例如:在多对多关系或具有属性的关系中就需要指定这样的中间键表。使用该工具可创建两个表之间的多对多关系。
如果源类和目标类均存在于同一要素数据集中,关系类便会位于该要素数据集中。否则,关系类会位于地理数据库的正下方。
创建关系会涉及多个额外的步骤,但可遵照不同的工作流程完成该过程。应遵照的工作流程取决于所拥有的数据和想要创建的关系类型。
- 如果已将源类和目标类用要素或记录进行了填充,且源类中的主键值已正确地关联到了目标类中的外键值,请依照以下步骤执行操作:
- 使用“新建关系类”向导或“创建关系类”工具创建关系类。
- 设置规则(如果需要)。
- 如果设置了规则或者要处理复合关系,请使用 ArcMap 的“验证要素”命令测试引用完整性。
- 如果已将源类和目标类用要素或记录进行了填充,且源类中有主键值,但目标类中没有外键值或具有外键值但未正确关联,请依照以下步骤执行操作:
- 使用“新建关系类”向导或“创建关系类”工具创建关系类。
- 设置规则(如果需要)。
- 在 ArcMap 中交互选择关联的源对象和目标对象,并将它们与“属性”对话框关联。
这会设置目标中的外键值,以使其与源中的主键值相关联。如果在步骤 1 中创建了具有属性的关系,这会将记录添加到中间键表中。
- 如果在步骤 1 中创建了具有属性的关系类,请在中间键表中手动输入这些属性。
- 如果设置了规则或者要处理复合关系,请使用 ArcMap 的“验证要素”命令测试引用完整性。
- 要创建两个表之间的多对多关系或使用包含关系属性的现有中间键表创建关系,请依照以下步骤执行操作:
- 创建并填充源表、目标表和中间键表,确保主键值正确地关联到目标键值。
- 使用“表至关系类”工具创建关系类。
构建与维护关系
ArcMap 包含有助于构建和维护关系的工具。
- 如果源和目标中均具有对象,但它们并未关联,则可在 ArcMap 中以手动方式每次建立一个关系。要进行此操作,请在目标中选取一个或多个对象,在源中选取一个或多个对象,然后打开“属性”对话框并将它们关联起来。只要关系的一方包含要素,便可进行此操作。
- 可以选取一个对象,然后在关联类中创建一个关联对象,只要它是表中的新记录而不是要素即可。
- 可以使用“属性”对话框从关系中删除对象。
- 编辑完复合关系或带有规则的关系后,可以使用“验证要素”命令检查您的工作。如果任何编辑操作违反了引用完整性,它将会予以报告。