DataModel Parameter (Connect-XML Cmdlet)
XML ドキュメントをパースしてデータベースのメタデータを生成するときに使用するデータモデルを指定します。
Syntax
Connect-XML -DataModel string
Possible Values
Document, FlattenedDocuments, RelationalData Type
cstr
Default Value
"Document"
Remarks
本製品 は、XML ドキュメントを同じレベルで繰り返す要素に基づいて行に分割します。
ネスト化されたXML のフラット化
デフォルトでは、本製品 はオブジェクトのプロパティに基づいてカラムを投影し、配列をXML 集計として返します。
- Object:同じ階層で繰り返されない親要素。
- Array:同じ階層で繰り返す要素。
次の例では、jobs はプリミティブ配列です。
<jobs>sales</jobs>
<jobs>marketing</jobs>
次の例では、各ノードに子要素があるため、maintenance はオブジェクト配列です。
<maintenance>
<date>07-17-2017</date>
<desc>oil change</desc>
</maintenance>
<maintenance>
<date>01-03-2018</date>
<desc>new tires</desc>
</maintenance>
データモデリングストラテジーの選択
次のDataModel 設定が利用可能です。さまざまな設定でデータをクエリする例については、階層データの解析 を参照してください。
-
Document
各トップレベルオブジェクトの行を表す単一テーブルを返します。このデータモデルでは、ネストされたオブジェクト配列はフラット化されず、集計として返されます。XPath 値が明示的に指定されていない限り、本製品 はXPath として見つかった一番上のオブジェクト配列を識別して使用します。
-
FlattenedDocuments
ファイル内で利用可能なドキュメントのJOIN を表す単一テーブルを返します。このデータモデルでは、ネストされたXPath 値はSQL JOIN と同じ作法で動作します。さらに、ネストされた兄弟XPath 値(同じ高さの子パス)は、SQL CROSS JOIN として扱われます。明示的に指定されない限り、本製品 は、ファイルを解析し、ネストされたドキュメントを含む利用可能なドキュメントを識別することによって、利用可能なXPath 値を識別します。
-
Relational
指定された各XPath 値に対して1つずつ、複数のテーブルを返します。このデータモデルでは、ネストされたドキュメント(オブジェクト配列)は、親テーブルにリンクする主キーと外部キーを含むリレーショナルテーブルとして返されます。明示的に指定されない限り、本製品 は、ファイルを解析し、利用可能なドキュメント(ネストされたドキュメントを含む)を識別することによって、利用可能なXPath 値を識別します。
関連項目
- XPath:含めるドキュメントへのパスを明示的に設定します。
- FlattenArrays およびFlattenObjects:これらのプロパティを使用して、データを水平にフラット化します。これにより、これらのデータモデルごとに識別されるカラムのカスタマイズが可能になります。
- 階層データの解析:それぞれのDataModel 設定を使用して、データをクエリする方法を示します。
- XML データのモデリング:さまざまなデータモデリング戦略のマップを提供します。
- XML データソースへの接続:接続する必要があるプロパティの概要については、この設定ガイドを参照してください。