マルチバージョン対応ビューとは
マルチバージョン対応ビューは、SQL(Structured Query Language)を使用してジオデータベース テーブルにある指定のバージョンのデータにアクセスできるよう、データベース ビュー、ストアド プロシージャ、トリガ、および関数が組み込まれています。
マルチバージョン対応ビューは ArcSDE レベルで実装されます。つまり、ジオデータベース レベルで実装されている機能をマルチバージョン対応ビューにおいて使用することはできません。このため、ジオデータベースの動作に関与するデータの編集には使用できません。
マルチバージョン対応ビューの基礎となるデータセットは、バージョン対応登録されている必要があります。バージョン対応登録されたデータセットのそれぞれには、データセットの編集を記録する差分テーブルが関連付けられています。マルチバージョン対応ビューでバージョン対応登録されたデータセットにアクセスすると、ビジネス テーブル内のすべてのレコードが選択され差分テーブルからのレコードとマージされて、指定バージョンにおいてビジネス テーブルに行われたすべての変更を含むビューが構築されます。マルチバージョン対応ビューには、表示するビジネス テーブルと同じ列と行が設けられます。マルチバージョン対応ビューは、データベースや空間ビューとは違い、テーブルのスキーマの変更やテーブルのスキーマへのアクセスの制限には使用できません。マルチバージョン対応ビューは特定のバージョンのテーブルへのアクセスを容易にするために使用します。
ArcSDE ジオデータベースのバージョニングをサポートしないアプリケーションの場合は、バージョン対応データセットのビジネス テーブルを直接検索することしかできず、差分テーブルにアクセスすることができません。これらのアプリケーションの場合は、マルチバージョン対応ビューを使用することによって、差分テーブルのデータにアクセスできるようになります。
マルチバージョン対応ビューは、空間列ではなく、主にテーブルの属性列へのアクセス用に設計されていますが、空間列へのアクセスに使用することもできます。ST_Geometry や SDO_Geometry などの空間タイプでジオメトリを格納している場合は、簡単な操作でマルチバージョン対応ビューを使って空間列にアクセスできます。ArcSDE Compressed Binary や Open Geospatial Consortium, Inc.(OGC)などのバイナリ ジオメトリ格納タイプを使用している場合の操作はもう少し複雑になります。
マルチバージョン対応ビューは、マルチバージョン対応ビューを使用したバージョン対応のテーブルのデータの読み取りや編集にも使用できます。マルチバージョン対応ビューの編集はビューの高度な使用であり、DBMS(データベース管理システム)に固有であるため、正しく実行しないとジオデータベースの破損につながる可能性があります。
以下にコマンド プロンプトでマルチバージョン対応ビューを使用して編集する場合の手順を示します。記載どおりの順序で行ってください。
- マルチバージョン対応ビューを作成します。
- 編集作業用のバージョンを作成します。
- マルチバージョン対応ビューが作成した新しいバージョンを参照するように設定します。
- edit_version プロシージャまたはデータベースに適した関数を実行して、編集セッションを開始します。
- SQL を使用してマルチバージョン対応ビューに対して編集を行います。
- データベースの編集をコミットまたはロール バックします。
- edit_version プロシージャまたはデータベースに適した関数を実行して、編集セッションを終了します。
- ArcGIS で編集内容をリコンサイルしてポストします。
- ArcGIS で親バージョンにすべての変更をポストしたら、マルチバージョン対応ビューでの編集用のために作成したバージョンを削除することができます。