在关系类、连接和关联之间进行选择
此主题仅适用于 ArcEditor 和 ArcInfo。
虽然关系类在 ArcInfo 和 ArcEditor 中既可以创建也可以编辑,但在 ArcView 中只能读取。参与关系类的要素类在 ArcView 中也为只读。
关系类有助于确保引用完整性。例如,对某一要素进行删除或修改可能会删除或更改关联要素。此外,关系类存储在地理数据库中,使用地理数据库的任何人都可以对关系类进行访问。
动态关系也称为关联,其被定义为 ArcMap 图层的属性。使用它们可以改善编辑性能。
连接最适合于标注和符号。通过关系数据库定义连接可以在数据库以及多种数据源中进行标准 SQL 查询。
关系类 |
动态关联 |
连接 | |
---|---|---|---|
典型使用 |
确保数据完整性 |
降低编辑的开销 |
标注,符号 |
范围 |
地理数据库 |
数据库或数据源 |
数据库或数据源 |
框架 |
地理数据库数据模型 |
在地图图层中定义 |
关系数据库/SQL |
用于编辑的用户界面 |
ArcMap |
ArcMap 中的 VBA 应用程序 |
SQL 查询 |
用于导航的用户界面 |
ArcMap |
ArcMap |
SQL 查询 |
复合对象 |
支持 |
不支持 |
不支持 |
引用完整性 |
支持 |
不支持 |
不支持 |
消息发送 |
支持 |
不支持 |
不支持 |
属性 |
支持 |
不支持 |
不支持 |
关系规则 |
支持 |
不支持 |
不支持 |
基数 |
一对一、一对多、多对多 |
一对一、一对多、多对多 |
一对一、多对一 |
优点 |
管理引用完整性和消息发送行为,通过 ArcMap 属性检查器进行编辑 |
没有编辑开销,可跨越工作空间和数据源类型 |
没有编辑开销;可跨越工作空间和数据源类型;可用于 SQL 查询、标注和符号 |
缺点 |
产生编辑开销;必须仅在相同用户方案内相同地理数据库中的表间进行定义;仍需要对 SQL 查询、标注和符号进行连接 |
无引用完整性;无消息发送;不支持多对多基数;仍需要对 SQL 查询、标注和符号进行连接 |
无引用完整性;无消息发送;不支持多对多关系;不支持涉及要素类的一对多关系 |