SQL Server 中的视图
创建视图可在进行数据请求时限制所搜索的表和列的数量,从而缩短查询响应时间。您可以创建以要素类或非空间表的形式出现在客户端应用程序中的视图。ArcSDE 视图可引用单个表或要素类,或者您也可以创建视图来连接多个表中的数据。如果使用多重空间数据库模型存储地理数据库,则可以在同一 SQL Server 实例的不同数据库中的表与要素类之间创建视图。
任何拥有所需权限的用户都可以使用 SQL 或 ArcSDE sdetable 命令来创建视图。有关创建视图所需权限的信息,请参阅相应版本的 SQL Server 文档。
在 Microsoft SQL Server 数据库中,可通过 INFORMATION_SCHEMA.VIEWS 系统视图来访问视图定义。
INFORMATION_SCHEMA.VIEWS 系统视图
通过在 INFORMATION_SCHEMA.VIEWS 系统视图中查询特定视图可以获取视图的元数据。
字段名 | 数据类型 | 描述* |
---|---|---|
TABLE_CATALOG | nvarchar(128) | 视图限定符 |
TABLE_SCHEMA | nvarchar(128) | 包含此视图的方案 |
TABLE_NAME | nvarchar(128) | 视图名称 |
VIEW_DEFINITION | nvarchar(4000) | 视图定义文本 |
CHECK_OPTION | varchar(7) | 创建视图时所使用的 WITH CHECK OPTION 类型(如果创建) |
IS_UPDATABLE | varchar(2) | 指示视图是否可以更新 |
*有关字段的完整描述和任何说明,请参阅相应 SQL Server 版本的 Microsoft 文档。
交叉数据库视图
在多重空间数据库模型中,可以在不同数据库中的表和 ArcSDE 要素类之间创建视图。执行此操作时,必须使用 –D(数据库)转换来标识要在其中创建视图的数据库,并使用 –t 选项列出所有参与视图的表。必须完全限定表名称以包括数据库和所有者的名称。
要迁移到单一空间数据库模型,必须删除这些视图。您可以在迁移数据后重新创建这些视图。
在单一空间数据库模型中,不能使用 sdetable 命令的 create_view 操作在不同数据库的两个要素类之间创建交叉数据库视图。要创建此类视图,必须使用 SQL。