JDBC Driver for REST

Build 22.0.8479

フラット化されたドキュメントモデル

データ全体に単純にアクセスする必要があるユーザーにとっては、データを単一テーブルにフラット化することは最善のオプションです。このモードでは、本製品 はストリーミングを使用し、クエリごとにデータを1回だけパースします。

オブジェクト配列を単一テーブルに結合

DataModel を"FlattenedDocuments" に設定すると、本製品 はオブジェクト配列ごとに別のテーブルを返しますが、暗黙的に親テーブルに結合します。ネストされた任意の兄弟XPath 値(同じ高さの子パス)は、SQL CROSS JOIN として扱われます。

以下は、Raw データ のサンプルドキュメントと、XPaths /root/people、/root/people/vehicles、/root/people/vehicles/maintenance に基づく解析のサンプルクエリとその結果です。これは、暗黙的にvehicles エレメントをpeople エレメントと結合し、暗黙的にvehicles エレメントをmaintenance エレメントと結合します。

接続文字列

次の接続文字列を使用して、この例ではRaw データ をクエリします。

URI=C:\people.txt;Format=XML;DataModel=FlattenedDocuments;XPath='/root/people;/root/people/vehicles;/root/people/vehicles/maintenance;'

クエリ

次のクエリは、各people エレメントのネストされたエレメントをドリルします。XPath プロパティはvehicles ノードを含んだため、vehicle のエレメントを明示的にクエリできます。

SELECT
  [personal.age] AS age,
  [personal.gender] AS gender,
  [personal.name.first] AS name_first,
  [personal.name.last] AS name_last,
  [source],
  [type],
  [model],
  [insurance.company] AS ins_company,
  [insurance.policy_num] AS ins_policy_num,
  [date] AS maint_date,
  [desc] AS maint_desc
FROM
  [people]

結果

記述されたパスに基づいて水平および垂直フラット化を行うと、各vehicle エレメントはその親people エレメントに暗黙的に結合され、各maintenance エレメントはその親vehicle エレメントに暗黙的に結合されます。

agegenderfirst_namelast_namesourcetypemodelins_companyins_policy_nummaint_datemaint_desc
20MJohnDoeinternetcarHonda CivicABC Insurance123452017-07-17oil change
20MJohnDoeinternetcarHonda CivicABC Insurance123452018-01-03new tires
20MJohnDoeinternettruckDodge RamABC Insurance123452017-08-27new tires
20MJohnDoeinternettruckDodge RamABC Insurance123452018-01-08oil change
24FJaneRobertsphonecarToyota CamryCar Insurance987652017-05-11tires rotated
24FJaneRobertsphonecarToyota CamryCar Insurance987652017-11-03oil change
24FJaneRobertsphonecarHonda AccordCar Insurance987652017-10-07new air filter
24FJaneRobertsphonecarHonda AccordCar Insurance987652018-01-13new brakes

関連項目

Copyright (c) 2023 CData Software, Inc. - All rights reserved.
Build 22.0.8479