什么是多版本化视图?

多版本化视图将数据库视图、存储过序、触发器和函数整合在一起,用以通过结构化查询语言 (SQL) 访问地理数据库表中指定版本的数据。

在 ArcSDE 级别实现多版本化视图。这意味着多版本化视图不使用在地理数据库级别实现的功能。因此,多版本化视图不应用于编辑参与地理数据库行为的数据。

必须将多版本化视图所基于的数据集注册为版本。每个版本化数据集都具有记录对数据集所进行的编辑内容的相关增量表。通过多版本化视图访问版本化数据集时,业务表中的所有记录都被选中并与增量表中的记录合并,以构建包括在指定版本环境中对业务表进行的所有更改的视图。多版本化视图与它们表示的业务表具有相同的列和行。与数据库或空间视图不同,多版本化视图并不用于更改表的方案或限制访问,而是用于快速访问表的特定版本。

不支持 ArcSDE 地理数据库版本化的应用程序仅可直接查询版本化数据集的业务表,并且与增量表没有任何连接。通过这些应用程序使用多版本化视图使它们可以访问增量表中的数据。

虽然多版本化视图可以访问空间列,但其主要目的在于访问表的属性列而不是空间列。如果正在使用 ST_Geometry 或 SDO_Geometry 等空间类型来存储几何,则通过多版本化视图访问空间列更加简单直接;如果正在使用 ArcSDE 压缩二进制、开放地理空间联盟 (OGC) 以及其他熟知的二进制类型等二进制几何存储类型,则使用多版本化视图访问空间列较为复杂。

可使用多版本化视图在使用多版本化视图的版本化表中阅读或编辑数据。使用多版本化视图进行编辑是视图的高级应用,并且是特定于数据库管理系统 (DBMS) 的,如果操作不正确有可能会损坏地理数据库。

以下为在命令提示符下使用多版本化视图进行编辑的步骤,应按顺序执行各步骤:

  1. 创建多版本化视图。
  2. 创建用于执行编辑的版本。
  3. 设置多版本化视图以使用新版本。
  4. 通过执行适合数据库的 edit_version 过程或函数启动编辑会话。
  5. 使用 SQL 在多版本化视图上执行编辑。
  6. 将编辑内容提交到数据库或回滚编辑内容。
  7. 通过执行适合数据库的 edit_version 过程或函数停止编辑会话。
  8. 通过 ArcGIS 协调并提交编辑。
  9. 使用 ArcGIS 将所有更改提交到父版本后,可删除多版本化视图上为进行编辑而创建的版本。

相关主题


3/7/2012