3.2 JSONリレーショナル二面性ビューでの作業

JSONリレーショナル二面性ビューは、リレーショナル・データベース表に格納されているデータをJSONドキュメントとして公開します。これらのドキュメントはオンデマンドで生成されます。二面性ビューは、関係的かつ階層的にデータを編成します。つまり、アプリケーションはJSONドキュメントのセットまたは関連表および列のセットと同じデータにアクセス(作成、問合せ、変更)でき、両方のアプローチを同時に使用できます。

JSONリレーショナル二面性ビューの詳細は、『Oracle® Database JSONリレーショナル二面性開発者ガイド』を参照してください。

VS Code用のSQL Developer拡張機能では、二面性ビューはオブジェクト・タイプとして扱われ、「接続」パネルで個別のノードとして使用できます。実行可能なタスクは、次のとおりです:

  • 二面性ビュー・ビルダーを使用して二面性ビューを作成します。
  • 二面性ビューを編集します。
  • 二面性ビューでデータ・レコードを挿入します。
  • 二面性ビューのデータ・レコードを編集します。
  • 二面性ビューのJSONデータ・ガイド・ダイアグラムを表示します。

3.2.1 二面性ビューの作成

二面性ビュー・ビルダーを使用して、二面性ビューを作成できます。

ノート:

二面性ビューの定義に使用される表は、特定の要件を満たす必要があります。これらの要件が満たされない場合は、ビューを作成しようとするとエラーが発生します。

「JSONリレーショナル二面性ビューの制限」も参照してください。

  1. 「接続」パネルで、「二面性ビュー」ノードを右クリックし、「二面性ビュー・ビルダー」を選択します。

    二面性ビュー・ビルダー・インタフェースが表示されます。これは、ダイアグラム・パネル、プレビュー・パネルおよび定義パネルの3つの部分で構成されます。上部の「名前」フィールドに二面性ビューの名前を入力し、「ファイルに保存」をクリックして保存し、後で作業を続行します。

ダイアグラム・パネル

  1. ツールバーから、「ルート表の追加」を選択します。次の図では、表Employeesが選択されています。
    ルート表の選択
  2. 「ルート表の選択」ペインで、対象のルート表のチェック・ボックスを選択し、「適用」をクリックします。

    選択した表がダイアグラム・ペインに表示されます。ツールバーのアイコンを使用して、ズーム・イン、ズーム・アウト、およびSVG形式へのエクスポートができます。

  3. 親表と子表を選択できるようになりました。ダイアグラムの表を選択し(選択すると、表の周囲に青い枠線が表示されます)、ツールバーから「親表の追加」を選択します。この後、子表を追加する場合は、親表を選択し、ツールバーから「子表の追加」を選択します。

    次の図では、DepartmentsおよびJobsが親表として選択されています。

    親表の選択

プレビュー・パネル

  1. ダイアグラム・パネルで適切なチェック・ボックスを選択すると、表に追加の列を選択できます。選択すると、これらの変更がプレビュー・パネルに即時に表示されます。プレビュー・パネルでオブジェクトを選択し、「別名」、「ネストしたキー名」、「更新の許可」、「挿入の許可」、「削除の許可」、「チェック」、「フィルタ」などの追加プロパティを設定します。

    次の図では、ダイアグラム・パネルでFirst_Name列が選択され、プレビュー・パネルにすぐに表示されています。プレビュー・パネルでFirst_Nameを選択して、「ネストしたキー名」、「チェック」、「更新の許可」などの追加プロパティを設定します。

    プレビュー・パネル

定義パネル

  1. 「定義」タブでは、二面性ビュー定義がSQL文として自動的に生成されます。
  2. SELECT文をテストするには、「問合せのテスト」タブを選択し、「問合せの実行」アイコンをクリックします。
    問合せのテスト

    出力は定義パネルの下に表示されます。

二面性ビューの作成

  1. 出力を確認した後、二面性ビューを作成できます。右上隅で、「二面性ビューの作成」をクリックします。

    新しく作成した二面性ビューを表示するには、「接続」パネルをリフレッシュし、「二面性ビュー」ノードを展開します。二面性ビュー名をクリックして、右側のパネルで開きます。

3.2.2 二面性ビューの編集

二面性ビュー・ビルダーを使用して、二面性ビューを編集できます。
  1. 「接続」パネルで、「二面性ビュー」ノードを展開して、編集する二面性ビューの名前を右クリックし、「編集」を選択します。

    二面性ビューは、二面性ビュー・ビルダー・インタフェースに表示されます。

  2. 二面性ビューに加えることができる変更には、ダイアグラム・パネルでの表の追加または削除、プレビュー・パネルでのオブジェクトに対する列の追加または追加プロパティの設定などがあります。

    これらの変更を行う方法の詳細は、「二面性ビューの作成」を参照してください。

3.2.3 二面性ビューでのデータ・レコードの挿入

この項では、二面性ビューでデータ・レコードを挿入するステップについて説明します。
  1. 「接続」パネルで、「二面性ビュー」ノードを展開してから、二面性ビュー名をクリックして右側のパネルで開きます。
  2. 「データ」タブを選択します。
  3. 「挿入」をクリックします。
  4. 「挿入」パネルで、最初のプロパティの値を入力します。[Enter]キーを押して次の行に移動します。引用符を入力すると、選択可能なプロパティがリストに表示されます。
    データ・レコードの挿入

    スキーマに含まれない新規プロパティを追加すると、エラー通知が表示されます。

    すべての詳細の入力が完了したら、「保存」をクリックします。

  5. 「コミット」をクリックして、データベースへの変更をコミットします。

3.2.4 二面性ビューでのデータ・レコードの編集

この項では、二面性ビューでデータ・レコードを編集するステップについて説明します。
  1. 「接続」パネルで、「二面性ビュー」ノードを展開してから、二面性ビュー名をクリックして右側のパネルで開きます。
  2. 「データ」タブを選択します。
  3. 編集する行にカーソルを置き、右クリックして「単一レコード・ビュー」を選択します。

    または、編集する行の末尾にある「編集」アイコンをクリックします。

  4. 「単一レコード・ビュー」パネルで、クリックして入力し、必要な変更を完了します。
    データ・レコードの編集

    別のレコードに移動するには、「次の行に移動」アイコンまたは「前の行に移動」アイコンを使用できます。

    ノート:

    JSONデータ型の列を含む表に対して「単一レコード・ビュー」オプションを使用する場合は、次の点に注意してください:

    • 二面性ビューでは、メタデータ関連フィールド(etag、asofなど)は編集できません。

    • JSONデータ型の列を含む通常の表の場合、この制限は保持されず、すべてのフィールドを編集できます。

    • ワークシート内のSELECT文の結果が二面性ビュー表またはJSONデータ型列を含む表の場合、表は読取り専用であり、編集できません。

  5. すべての変更を完了した後、「保存」をクリックします。

    行番号の横に星記号(*)が表示されます。これは、行への変更がデータベースにまだコミットされていないことを示します。

  6. 「コミット」をクリックして、データベースへの変更をコミットします。

3.2.5 二面性ビューのJSONデータ・ガイド・ダイアグラムの表示

JSONデータ・ガイド・ダイアグラムは、二面性ビューのJSONスキーマを表します。

「接続」パネルで、「二面性ビュー」ノードを展開して、編集する二面性ビューの名前を右クリックし、「JSONデータ・ガイドの表示」を選択してダイアグラムを表示します。

次の図は、「二面性ビューの作成」で作成されたEMP_DV二面性ビューのJSONデータ・ガイド・ダイアグラムを示しています。

JSONデータ・ガイド・ダイアグラム