3.15 SODAコレクションの管理

オブジェクト・ブラウザを使用して、JSON、TXTまたはZIPファイルとしてデータをSODAコレクションにロードします。

3.15.1 SODAコレクションについて

SODAコレクションについて学習します。

Simple Oracle Document Access (SODA)はNoSQL形式のAPIセットであり、これを使用すると、Structured Query Language (SQL)や、ドキュメントがどのようにデータベースに格納されているかを理解していなくても、Oracle Databaseのドキュメントのコレクションを作成および格納、取得、問合せできます。

SODAは、SQLスキーマを使用してドキュメントを格納します。ドキュメントは一般にJSONデータですが、ビデオ、イメージ、サウンド、その他のバイナリ・コンテンツなどの任意のタイプのデータにできます。ドキュメントは、キー・ルックアップによって、または例による問合せ(QBE)のパターン一致を使用してデータベースからフェッチできます。

要件

  • データベース18.3以上。
  • ワークスペース・ユーザーにはSODA_APPロールが必要です。

サポートされているファイル・タイプ

次のファイル・タイプをSODAコレクションにアップロードできます。

  • JSONファイル - APEXでは、複数のJSONオブジェクトを持つ配列を含むJSONファイルがサポートされています。APEXでは、配列から各JSONオブジェクトを抽出し、単一のJSONドキュメントとしてSODAコレクションにロードします。配列セレクタはデフォルトで自動検出されます。

  • JSONリスト - JSONリストは、複数のJSONドキュメントが1行に1つ、改行で区切られて含まれているファイルです。

  • ZIPファイル - ZIPファイルは自動的に抽出され、各ファイルはSODAコレクションにアップロードできます。データ・ロード設定に応じて、ZIPアーカイブ内の非JSONファイルはスキップされるか、または同様にコレクションにロードされます。XMLファイルは、SODAコレクションにロードする前にJSONに変換できます。

3.15.2 SODAコレクションの作成

オブジェクト・ブラウザを使用して、ドキュメントをロードし、新しいSODAコレクションを作成します。

ドキュメントを新しいSODAコレクションにロードするには、次のようにします。

  1. オブジェクト・ブラウザで、「データベース・オブジェクトの作成」メニューをクリックし、「SODAコレクション」を選択します。

    ヒント:

    オブジェクト・ツリーから新しいオブジェクトを作成するには、オブジェクトを右クリックして「作成」オプションを選択します。

    SODAコレクションの作成ウィザードが表示されます。

  2. SODAコレクションにデータをロードする場合:
    • 目的のJSON、TXTまたはZIPファイルをダイアログにドラッグ・アンド・ドロップします。
    • 「ファイルの選択」をクリックし、ローカル・システムでファイルの場所を参照して、アップロードします。
    ウィザードでは、ファイル・タイプに基づいて次の画面が用意されます。
  3. JSONセレクタ・タイプ - アップロードされたファイルからJSONドキュメントを抽出する方法を指定します。オプションは次のとおりです:
    • 自動検出 - APEXは、アップロードされたファイル内の最初のJSON配列を検索し、配列内の各JSONオブジェクトをドキュメントとしてSODAコレクションにアップロードします。
    • カスタム - アップロードされたファイルが有効なJSONドキュメントである必要があります。APEXは、ユーザー指定のJSONセレクタを使用して、アップロードされたファイル内のJSON配列を参照し、配列内の各JSONオブジェクトをドキュメントとしてSODAコレクションにアップロードします。
    • ラインフィード(JSONリスト) - 各ドキュメントが1行で、改行で区切られた複数のJSONドキュメントを含むファイルが必要です。このタイプのJSONアップロードでは、32,767バイトまでの個々のJSONドキュメント(行の長さ)がサポートされています。
  4. ロード先 - 新規または既存のSODAコレクションのどちらにロードするかを選択します。オプションは次のとおりです:
    • 新規コレクション - 新規コレクションを作成します。
    • 既存のコレクション - 既存のコレクションにアップロードします。

      このオプションを選択すると、「既存のSODAコレクション」が表示されます。データのロード先の既存のSODAコレクションを選択します。

      プロンプトが表示されたら、更新メソッドでコレクションにデータを追加するか、コレクション内のデータを置換するかを選択します。

  5. SODAコレクション名 - 新しいSODAコレクションの名前を指定します。大文字の名前のみがサポートされています。

    ヒント:

    「リレーショナル・ビューの作成」が有効になっている場合、リレーショナル・ビュー名がSODAコレクション名に基づいて自動的に移入されます。必要に応じて、リレーショナル・ビュー名を変更できます。
  6. 無効な行のスキップ - 有効にした場合、無効なJSONドキュメントを含む行がスキップされます。無効にした場合、無効なJSONドキュメントを含む行にエラーが発生します。
  7. リレーショナル・ビューの作成 - 有効にしてリレーショナル・ビューの名前を指定した場合、APEXはデータ・ガイド機能を使用してSODAコレクションの最上位にリレーショナル・ビューを生成します。リレーショナル・ビューを使用してアプリケーションを作成できます。
  8. 「データのロード」をクリックします。
    データがロードされると、確認メッセージが表示されます。この場合、時間がかかることがあります。
  9. アップロードが完了すると、次のことができます:
    • コレクションの表示 - このオプションをクリックすると、オブジェクト・ブラウザにSODAコレクションが表示されます。
    • アプリケーションの作成 - このオプションをクリックして、アプリケーション・ビルダーのアプリケーションの作成ウィザードに移動します。
  10. オブジェクト・ブラウザに戻るには、「X」アイコン(右上)をクリックするか、[Esc]を押してダイアログを閉じます。

3.15.3 SODAコレクションの表示

オブジェクト・ブラウザで既存のSODAコレクションを表示します。

既存のSODAコレクションを表示するには:

  1. オブジェクト・ブラウザのオブジェクト・ツリーで、「SODAコレクション」を展開し、コレクションを選択します。
  2. 「オブジェクトの詳細」ビューが表示され、3つのタブが表示されます:
    • コレクション・コンテンツ - コレクションの一般的な内容が表示されます。使用可能なボタンは次のとおりです:
      • データのロード
      • 削除
      • リフレッシュ
    • データ・ガイド - コレクションに関連付けられているリレーショナル・ビューおよび完全なJSONデータ・ガイドが表示されます。使用可能なボタンは次のとおりです:
      • 検索索引の作成
      • 検索索引の削除
      • リレーショナル・ビューの作成(リレーショナル・ビューの場合)
      • リフレッシュ

      ヒント:

      ビュー名をクリックすると、オブジェクト・ブラウザのビューに移動します。
    • メタデータ - SODA RESTエンドポイントURLおよび完全なコレクション・メタデータを表示します。

3.15.4 SODAコレクションの編集または削除

オブジェクト・ブラウザでSODAコレクションを表示し、「データのロード」を使用して新しいバージョンのデータをアップロードするか、「削除」ボタンをクリックしてワークスペースからSODAコレクションを削除します。

SODAコレクションを編集または削除するには:

  1. オブジェクト・ブラウザのオブジェクト・ツリーで、「SODAコレクション」を展開し、コレクションを選択します。
    「オブジェクトの詳細」ビューが表示されます。
  2. コレクションを編集し、さらにデータをアップロードするには:
    1. 「コレクション・コンテンツ」タブで、「データのロード」をクリックします。
    2. ウィザードにファイルをドラッグ・アンド・ドロップするか、コンピュータからファイルを選択します。
    3. ウィザードを続行します。「ロード先」で、「既存のコレクション」を選択します。
  3. SODAコレクションを削除するには、次のようにします。
    1. 「コレクション・コンテンツ」タブで、「削除」をクリックします。
    2. 選択内容を確認して、「削除」を再度クリックします。