您可以使用 ArcGIS Pro 中的创建关系类或表转关系类地理处理工具在地理数据库中的任何要素类或表之间创建关系类。 您可以使用这些工具创建简单、复合和属性关系类。
一个简单的关系类将一个要素类中的要素与另一个要素类中的要素联系起来,使相关的要素能够独立存在。 这些功能之间的连接通过子记录中的一个外键保持,该外键将其链接到父记录。 如果源对象被删除,或者子记录不存在匹配的父记录,外键将被设置为“空”,以确保参照完整性。 这个外键可以更新,以形成具有不同源要素的新关系。
例如,在执法系统中,警察局(源)和警官(目标)之间存在一对多的关系。 每个警察局都有多名警官,但每名警官只分配到一个警察局。 如果一个分局被拆除,警官们可以被重新分配到另一个警察局,从而建立新的关系。
在开始下面的步骤之前,请参阅准备创建关系类查看数据要求。 。
注:
文件、移动和企业级地理数据库都支持关系类。 要创建关系类,可以右键单击现有地理数据库或地理数据库中的要素数据集。 如果要在企业级地理数据库中创建关系类,必须以具有在数据库中创建数据权限的用户身份连接到企业级地理数据库。
要创建简单关系类,请完成以下步骤:
- 启动 ArcGIS Pro ,然后打开现有工程,或者在没有模板的情况下开始。
- 在目录窗格中,右键单击现有地理数据库,然后从快捷菜单中单击新建。
- 单击关系类 。
将显示创建关系类地理处理工具对话框,其中包含默认设置。
- 您可以从列表中选择一个数据集或使用浏览按钮查找数据集,以设置源表参数。
- 您可以从列表中选择一个数据集或使用浏览按钮选择数据集,以设置目标表参数。
- 单击浏览按钮 ,浏览将存储关系类的数据库,在名称文本框中提供关系类的名称,然后单击保存,以设置输出关系类参数。
在本例中,源表和目标表位于名为 Wyoming Natural Assets.geodatabase 的移动地理数据库中。 关系类也必须位于该移动地理数据库中。 由于移动地理数据库是建立在 SQLite 之上的,因此关系类名称会自动添加前缀 main,以表明它属于主模式,而主模式是 SQLite 数据库的默认模式。
关系类名称反映在输出关系类参数中。
- 在关系类型参数中,从下拉列表中选择简单。
要进一步了解简单关系类类型和复合关系类类型之间的区别,请参阅地理数据库关系类类型。
- 提供前向路径标注和后向路径标注参数值。
前向路径标注描述的是从源类向目标类导航时的关系,而后向路径标注描述的是从目标类向源类反向导航时的关系。 有关这些标注的更多信息,请参阅创建关系类工具参数。
- 由于您创建的是简单关系类,因此请选择无(不传递任何消息)设置消息方向参数。
消息方向参数指定相关对象之间传递消息的方式。 该参数适用于希望实施自定义级联更新或删除关系类行为的情况。 请参阅创建关系类工具参数,了解为简单关系类或复合关系类设置消息方向参数的不同效果。
- 选择适合关系类中数据的基数选项设置基数参数。
- 可选择选中已设置关系类属性参数(或不选中),以指定关系类是否具有属性。
- 不选中:关系类将不具有属性。 这是默认设置。
- 选中:将创建一个属性关系类。 当创建多对多 (M:N) 或属性关系类时,将会创建一个新的中间关系类表。 该表用于映射源对象与目标对象间的关联。 有关属性关系类的更多信息,请参阅地理数据库关系类类型。
- 分别指定源表中的一个字段和目标表中的一个字段设置源主键和源外键参数。
源主键和源外键参数指定源要素类中的主键和目标表中的相关外键字段。 只显示与源主键参数指定的字段数据类型相同的字段,设置源外键参数。
- 单击运行,创建关系类。