JDBC Driver for REST

Build 22.0.8479

REST データのモデリング

このセクションでは、本製品 がリレーショナルSQL とREST サービスのギャップを埋めるために提供するさまざまなスキームを制御する方法を説明します。CData JDBC Driver for REST には、ネストされたデータを扱うための2つの一般的な管理された方法があります。

  • データ構造を解析し、既存の階層に基づいてリレーショナルモデルを構築する。
  • 水平および垂直フラット化を使用して、ネストされたエレメントにドリルダウンする。

階層データの解析

デフォルトでは、本製品 はドキュメント内の行を自動的に検出するため、SQL でクエリするために基底のデータの構造を知る必要はありません。DataModel プロパティを設定して、本製品 がどのように行をテーブルにモデル化するかの基礎構成を選択します。

オブジェクトと配列を行にフラット化

データをフラット化するには、オブジェクトと配列という2つのデータ構造に精通しているだけで十分です。JSON では、これらはリテラル構造です。XML では、類似の構造は以下のとおりです。

  • Object:同じ階層で繰り返されない親エレメント。
  • Array:同じ階層で繰り返すエレメント。

people コレクションの次の例では、各ノードに子エレメントがあるため、maintenance はオブジェクト配列です。

<maintenance>
  <date>07-17-2017</date>
  <desc>oil change</desc>
</maintenance>
<maintenance>
  <date>01-03-2018</date>
  <desc>new tires</desc>
</maintenance> 

自動スキーマ検出の設定

本製品 は、配列内のオブジェクトのRowScanDepth 数をスキャンすることで、カラムおよびデータ型を検出します。FlattenObjects およびFlattenArrays プロパティを設定して、ネストされたデータをカラムにフラット化する方法を設定します。例については、自動スキーマ検出 を参照してください。

REST へのSQL の実行

フラット化でアクセスできるあらゆるリレーションへは、アドホックなSQL クエリを使ってもアクセスが可能です。本製品 を使用すると、次の機能を使用してネストされたデータをクエリできます。

  • 垂直フラット化:ネストされたオブジェクト配列に別々のテーブルとしてアクセスします。
  • フリーフォームクエリ:どんなネストされた構造でもデータをフラット化せずにクエリできます。
  • XML 関数 およびJSON 関数:クライアント側の集計と変換を実行するために返されたデータを操作します。

スキーマのカスタマイズ

スキーマのカスタマイズ を使用すると、ドキュメントの上に選択されたリレーショナル構造を投射することもできます。これにより、カラム名、データ型、 ドキュメント内の値の位置を選択することができます。

システムカタログ

システムテーブル は設定したスキーマ(カスタムスキーマ、または動的に検出されたスキーマ)を反映しています。Stored Procedures は、本製品 のデータ処理操作において、SELECT、INSERT、UPDATE、またはDELETE としてモデル化できない追加機能を表します。レポートされたストアドプロシージャは、Location で指定されたフォルダ内の.rsb ファイルで定義されています。Location が指定されていない場合は、インストールディレクトリのdb サブフォルダにあります。

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