企业级地理数据库是数据库中的表、视图、存储过程和函数的集合。
企业级地理数据库中有两种类型的表:一种是存储用户数据的表,一种是在数据库中实现地理数据库功能的系统表。了解哪些表参与了地理数据库数据集和功能,有助于您(作为一名数据库管理员)了解哪些表不应使用 SQL 进行更改。
用户数据
数据集可存储人们创建、映射、分析、发布以及共享的地理数据。数据集是当您从 ArcGIS Pro 或 ArcGIS Desktop 应用程序连接到企业级地理数据库时,将在该地理数据库中看到的对象。
要素类和非空间表
在 ArcGIS 中连接到企业级地理数据库时,您可以创建用来存储数据的表和要素类。该表和要素类都将在基础数据库中创建一个表;两者之间的区别在于要素类表中是否存在空间列。表名称将由该表或要素类的创建者进行定义。
要素类是具有相同几何类型(点、线、面、多点、注记、尺寸或多面体)的空间要素集合。在数据库中存储要素类的方式取决于空间列所使用的空间数据类型。如果要素类使用 Microsoft SQL Server 空间数据类型,则要素类将是一个包含空间列的表。 如果要素类使用压缩二进制存储,则要素类将由以下三个表组成:基表(又称业务表)、要素表和空间索引表。基表的名称由该要素类的创建者进行定义。要素和空间索引表的名称分别为 F_<layer_ID> 和 S_<layer_ID>。layer_ID 与 SDE_layers 系统表中基表的图层 ID 相对应。
您可以在这些基础要素类或非空间表上进行构建,以便在数据集中实现地理数据库功能。
数据集
大多数数据集类型由在 ArcGIS Pro 或 ArcGIS Desktop 应用程序中显示的表以及有助于实现该类型数据集特有的功能的系统表组成。 有时可将这些数据集称为控制器数据集或扩展数据集。如果您通过数据库管理应用程序连接到数据库,则可以看到支持系统表。
有关上述类型表的列表,请参阅数据集系统表。
系统表和地理数据库功能
地理数据库系统表包括用于追踪地理数据库对象和行为的核心系统表,以及多个用于在数据库中实现地理数据库属性的支持表。上述表均为系统表,因此从 ArcGIS 应用程序连接到企业级地理数据库时,您将无法看到它们。
核心地理数据库系统表将存储在地理数据库管理员的方案中。某些地理数据库功能(如属性域、子类型、属性规则和条件属性值)需通过这些核心系统表中的字段实现。 其他功能(如地理数据库存档和传统版本)需通过数据集、核心系统表和支持系统表中的列组合实现。当存在支持系统表时,这些表将存储在启用了地理数据库功能的数据库用户的方案中。例如,对要素类启用地理数据库存档时,会将字段添加到要素类表中,核心系统存档表中将追踪存档,且您的方案中将创建历史表。
自 ArcGIS Enterprise 10.9 和 ArcGIS Pro 2.7 起,SQL Server 地理数据库中的系统表将不再存储数据库名称,这意味着您可以根据需要重命名数据库,例如在需要将数据库备份恢复为相同的 SQL Server 实例以检索丢失的数据时,例如需要提供模板地理数据库,或者将数据库从本地迁移到云端时。
有关核心地理数据库系统表和用于实现特定地理数据库功能的系统表的列表,请参阅 SQL Server 中的地理数据库系统表。