Oracle に格納されたジオデータベースの XML 列

XML はドキュメント内のデータ エレメントを定義するためのオープンな規格です。XML データを Oracle データベースに格納するには、ArcSDE XML 列またはネイティブ Oracle XML 列を使用できます。

ArcGIS Desktop の XML 列

XML 列はジオデータベースでは完全にサポートされません。したがって、次の点に注意してください。

Oracle DBMS の XML 列

ArcSDE XML と Oracle XML の 2 種類の XML 列を使用できます。ジオデータベースで作成するデータセットでどちらを使用するかは、DBTUNE テーブルの XML_COLUMN_STORAGE パラメータによって制御されます。デフォルトでは、このパラメータは SDE_XML に設定されます。

メモメモ:

ArcSDE XML データ タイプは、ArcIMS メタデータ サービスをサポートするための一連のメタデータ ドキュメントの格納に使用されます。したがって、ArcIMS メタデータ サービスを使用する場合は、XML_COLUMN_STORAGE パラメータを SDE_XML に設定する必要があります。

Oracle XML の詳細については、Oracle のドキュメント セットをご参照ください。

ArcSDE XML 列

ArcSDE XML ドキュメントは、LOB(Oracle Large Object)としてデータベースに格納されます。LOB の格納パラメータとキャッシュ パラメータ、表領域のブロック サイズ、およびバッファ キャッシュの設定はすべて、LOB データの取得時間に影響するため、検索時のパフォーマンスにも影響します。

ArcSDE XML の場合、XML 列を管理するための ArcSDE ジオデータベース システム テーブルとして、SDE_XML_COLUMNSSDE_XML_INDEX_TAGS、および SDE_XML_INDEXES の 3 つがあります。これらのテーブルの所有者は、ArcSDE 管理者ユーザです。ArcSDE は、XML 列ごとに追加のテーブルを 2 つ作成します(SDE_XML_DOC<COLUMN_ID> テーブルと SDE_XML_IDX_<COLUMN_ID> テーブル)。これらは、XML ドキュメントの格納とインデックスの作成に使用されます。これらのテーブルの所有者は、XML 列が含まれたビジネス テーブルを所有しているユーザです。

ArcSDE XML を使用するときに、ArcSDE は次のテーブルを作成します。これらのテーブルは、XML ドキュメントの格納およびインデックス作成に使用されます。

注意注意:

SQL を使用して、これらのテーブルを変更しないでください。

SDE_XML_COLUMNS

ビジネス テーブルに ArcSDE XML 列を追加すると、SDE_XML_COLUMNS テーブルに行が 1 つ追加されます。このテーブルは各 ArcSDE ジオデータベースに 1 つ存在します。

フィールド名

フィールド タイプ

説明

NULL?

COLUMN_ID

NUMBER

XML 列の ID。テーブルの主キー。

この値は ArcSDE XML 列の作成時に ArcSDE によって割り当てられます。

NOT NULL

REGISTRATION_ID

NUMBER

ArcSDE XML 列が含まれているビジネス テーブルの ID。TABLE_REGISTRY システム テーブルへの外部キー。

NOT NULL

COLUMN_NAME

NVARCHAR2(32)

ビジネステーブルの ArcSDE XML 列の名前。

NOT NULL

INDEX_ID

NUMBER

ArcSDE XML 列が存在する場合は、関連付けられている XPath インデックスの ID。SDE_XML_INDEXES テーブルへの外部キー。

MINIMUM_ID

NUMBER

個々の XML ドキュメントを識別するためにビジネス テーブルの ArcSDE XML 列で使用される初期値の値。

CONFIG_KEYWORD

NVARCHAR2(32)

それらのテーブルで作成される XML ドキュメント、XML XPath インデックス テーブル、テキスト インデックスをデータベースで定義する方法を決定するパラメータを含む、DBTUNE コンフィグレーション キーワード。

DBTUNE キーワードとそれらのパラメータの詳細については、「DBTUNE コンフィグレーション キーワードおよびパラメータとは」と「Oracle の DBTUNE コンフィグレーション パラメータ」をご参照ください。

XFLAGS

NUMBER

XML ドキュメント テーブルの元のドキュメントが圧縮されているかどうかを示す値。

デフォルトでは、ドキュメントは圧縮されます(圧縮されたドキュメントのほうがパフォーマンスが向上します)。

SDE_XML_INDEXES

このテーブルは各 ArcSDE ジオデータベースに 1 つ存在します。このテーブルには、XPath インデックスが付いている ArcSDE XML 列ごとに行が 1 つ含まれます。

フィールド名

フィールド タイプ

説明

NULL?

INDEX_ID

NUMBER

XPath インデックスの ID。テーブルの主キー。

NOT NULL

INDEX_NAME

NVARCHAR2(32)

XPath インデックスの名前。

ArcIMS メタデータ サービスに関連する XPath インデックスの場合、名前は「ims_xml#」になります。シャープ記号(#)はメタデータ サービス ビジネス テーブルの ArcSDE XML 列の ID を表します。

NOT NULL

OWNER

NVARCHAR2(32)

ArcSDE XML 列を所有しているデータベース ユーザ。

ArcIMS メタデータ サービスの場合は、サービスの ArcXML 構成ファイルで指定されたユーザ。

NOT NULL

INDEX_TYPE

NUMBER

XPath インデックスのタイプを示す値。

ArcSDE 9.1 以降のリリースでは、この値は SE_XML_INDEX_DEFINITION インデックス タイプで 2、SE_XML_INDEX_TEMPLATE インデックス タイプで 1 です。ArcIMS メタデータ サービスに関連する XPath インデックスの場合は、SE_XML_INDEX_DEFINITION インデックス タイプのみがサポートされます。

NOT NULL

DESCRIPTION

NVARCHAR2(64)

XPath インデックスを説明するテキスト。

インデックスの作成にインデックス定義ファイルが使用された場合は、インデックスの説明がファイルの先頭に指定されている場合があります。

SDE_XML_INDEX_TAGS

ArcSDE XML 列には、必要に応じて XPath インデックスが含まれます。このインデックスにより、ユーザが各ドキュメントで特定の XML エレメントまたは属性の内容を検索できるようになります。エレメントや属性が各 XPath インデックスに含まれるかどうかの定義は、このテーブルに記録されます。

このテーブルは各 ArcSDE ジオデータベースに 1 つ存在します。このテーブルには、ArcSDE XML 列の XPath インデックスに関連付けられた XPath ごとに行が 1 つ含まれます。

フィールド名

フィールド タイプ

説明

NULL?

INDEX_ID

NUMBER

ArcSDE XML 列が存在する場合は、関連付けられている XPath インデックスの ID。SDE_XML_INDEXES テーブルへの外部キー。

NOT NULL

TAG_ID

NUMBER

XPath(タグ)の ID。

NOT NULL

TAG_NAME

NVARCHAR2(1024)

XML ドキュメントに存在する XML エレメントまたは属性を識別する絶対 XPath。

/metadata/mdDateSt は XML エレメントを識別し、/metadata/dataIdInfo/tpCat/TopicCatCd/@value は XML 属性を識別します。

これらの XPath には、XML エレメントまたは属性のグループを参照するアスタリスク(*)が含まれていてはなりません。各エレメントまたは属性は、このテーブルに指定された XPath に基づいて正確に照合されます。有効な XML ドキュメントのエレメントに「*」という名前を付けることはできません。

NOT NULL

DATA_TYPE

NUMBER

XML エレメントまたは属性が数値、可変長の文字、またはテキストとしてインデックス付けされるかどうかを示す値。

1 はタグの内容がテキストとしてインデックス付けされることを示し、2 はタグの内容が数値としてインデックス付けされることを示し、3 はタグの内容が可変長の文字としてインデックス付けされることを示します。

NOT NULL

TAG_ALIAS

NUMBER

XPath を識別するために使用されるコード。

たとえば、Z39.50 通信プロトコルは数値コードを使用して検索可能なコンテンツを示します。

この列は ArcIMS Z39.50 Connector によって使用されません。

DESCRIPTION

NVARCHAR2(64)

XML エレメントまたは属性に含まれるべき内容を示すテキスト。

IS_EXCLUDED

NUMBER

XML エレメントが XPath インデックスに含まれるかどうかを示す値。

0 = XPath is included

1 = XPath is excluded

NOT NULL

SDE_XML_DOC<COLUMN_ID>

SDE_XML_DOC<COLUMN_ID> テーブルは、XML ドキュメントを格納し、XML ドキュメントのコンテンツに関するフルテキスト インデックスを管理します。ArcSDE データベースには、ArcSDE XML 列ごとにこれらのテーブルが 1 つ含まれます。テーブル名の番号は、ArcSDE XML 列の ID です。このテーブルには、ArcSDE XML 列に格納される XML ドキュメントごとに行が 1 つ含まれます。

フィールド名

フィールド タイプ

説明

NULL?

SDE_XML_ID

NUMBER

ArcSDE XML 列に格納される XML ドキュメントの ID。テーブルの主キー。

NOT NULL

DOC_PROPERTY

NUMBER

XML ドキュメントのコンテンツを XPath インデックスに追加したときに競合が検出されたかどうかを示す値。

1 = 競合が検出されました。たとえば、数値でインデックス付けされるはずのエレメントが、ドキュメントに文字列で含まれているなど。

NULL 値 = ドキュメントのインデックスの作成時に問題は検出されませんでした。

XML_DOC

BLOB

XML ドキュメント。

NOT NULL

XML_DOC_VAL

BLOB

すべての XML タグと他のマークアップが削除された状態の XML ドキュメント全体のコンテンツ。

この列にはテキスト インデックスがデフォルトで構築されます。このインデックスはフルテキスト検索への応答に使用されます。ArcIMS メタデータ サービスでは、このインデックスは FULLTEXT リクエストへの応答に使用されます。

SDE_XML_IDX<COLUMN_ID>

SDE_XML_IDX<COLUMN_ID> テーブルは、XPath テキスト インデックスを持つ ArcSDE XML 列に対して作成されます。このテーブルには、インデックスが作成されている XPath ごとにテキストまたは数値のコンテンツが格納されます。

テーブル名の ID 番号は、ArcSDE XML 列の内部登録番号です。

フィールド名

フィールド タイプ

説明

NULL?

XML_KEY_COLUMN

NUMBER

インデックス付けされた値の ID。テーブルの主キー。

NOT NULL

SDE_XML_ID

NUMBER

インデックス付けされた値が含まれている XML ドキュメントの ID。

NOT NULL

TAG_ID

NUMBER

ArcSDE XML 列の XPath インデックスに関連付けられたタグの ID。ドキュメントのどこに値が格納されているかを識別します。

NOT NULL

DOUBLE_TAG

FLOAT(126)

XPath インデックス定義においてタグが DOUBLE として定義されている場合のインデックス付けされた値。

STRING_TAG

NVARCHAR2(256)

XPath インデックス定義においてタグが VARCHAR として定義されている場合のインデックス付けされた値。

TEXT_TAG

CLOB

XPath インデックス定義においてタグが STRING として定義されている場合のインデックス付けされた値。

次に、ArcSDE XML 列が含まれているテーブルとそれを追跡するためのシステム テーブルの図を示します。破線はテーブル間の暗黙的なリレーションシップを示し、実線は明示的に定義されたリレーションシップを示しています。

Oracle で ArcSDE XML 列をサポートするためのサイトのビジネス テーブルとシステム テーブル

XML ドキュメントでの XML 列

XML 列が含まれているテーブルを XML ワークスペース ドキュメントにエクスポートすることはできません。XML レコードセット ドキュメントにエクスポートすることは可能ですが、列を XML として見分ける方法はありません。

関連項目


3/6/2012