JSON

JSONリレーショナル二面性

JSONリレーショナル二面性ビューは、リレーショナル・データに対する完全に更新可能なJSONビューです。データは非常に効率的な正規化された形式でリレーショナル表に格納されますが、JSONドキュメントの形式でアプリケーションからアクセスできます。

二面性ビューは、リレーショナル・モデルまたはドキュメント・モデルを使用してアプリケーションを構築する際に開発者が直面した過去の課題を克服することで、画期的な柔軟性とシンプルさを実現します。

ドキュメントの表示に関する項

JSONスキーマ

JSONスキーマベースの検証は、SQL条件IS JSONおよびPL/SQLユーティリティ関数で使用できます。JSONスキーマは、許可されるプロパティ(フィールド名)と対応する許可されるデータ型、およびそれらがオプションか必須かを指定するJSONドキュメントです。

デフォルトでJSONデータはスキーマレスであり、柔軟性を提供します。ただし、JSONデータに、JSONスキーマ検証を介して実行できる他のオプションおよび柔軟なコンポーネントの他に、特定の必須の固定構造および入力が含まれていることを確認できます。

ドキュメントの表示に関する項

XMLおよびJSON検索索引の機能拡張

Oracle Text XML検索索引構文およびJSON検索索引構文の一貫性が向上しました。さらに、JSONおよびXML検索索引のパフォーマンスが向上しました。

XMLまたはJSON検索索引に同じ構文を使用すると、パフォーマンスが向上し、生産性が向上します。

ドキュメントの表示に関する項

GoldenGate JSONリレーショナル二面性ビューのレプリケーション

この機能では、開発者が、Oracle GoldenGateテクノロジを使用して、JSONリレーショナル二面性ビューのデータを、リレーショナル表ではなくJSONドキュメントとして、Oracle AI DatabaseからターゲットのOracleデータベースまたはOracle以外のデータベースにレプリケートできるようになります。

JSONデータのレプリケーションは、高可用性、フェイルオーバー、およびOracle以外のデータベースからOracle AI Databaseへのリアルタイム移行のための重要な機能です。

MongoDB (ドキュメント・データベース)やRedis (NoSQLキー/値ストア)などのOracle以外のデータベースへのOracle GoldenGateレプリケーションは、JSONリレーショナル二面性ビューからJSONドキュメントをレプリケートでき、シンプルで高性能です。

開発者は、複雑なJSONやSQL変換を記述してリレーショナルやドキュメント・ベースの更新のデータを形成したり、ターゲット・データベースでアプリケーション・オブジェクトを再構築するという負担を追う必要がありません。

ドキュメントの表示に関する項

JSONリレーショナル二面性ビュー: 非表示フィールドと生成されたフィールド

二面性ビューのデータは、ビューのドキュメントにはない非表示フィールドにマップできます。生成されたフィールドでは、非表示フィールドの値を使用できます。

二面性ビューでサポートされているドキュメントは、基礎となるすべての列(特に他のフィールド値の計算にのみ必要な列)のフィールドを必要としない場合、より単純になります。
 

ドキュメントの表示に関する項

JSONリレーショナル二面性ビュー: 計算値を含むフィールドの追加

二面性ビューは、フィールドがリレーショナル表の列にマップされるオブジェクトを含むJSONドキュメントを生成します。値が自動的に計算されるオブジェクト・フィールドを追加できます。

計算フィールドを追加することでデータベースがオブジェクトを自動的に拡張する場合、このような計算を複数の別個のクライアント・アプリケーションで実行する必要はありません。また、フィールド計算では、結果オブジェクトに公開されない格納済データを参照できます(これはリダクションに似た機能です)。

ドキュメントの表示に関する項

JSONコレクション・ビュー

JSONコレクション・ビューは、DATAという名前のJSON型の列でJSONオブジェクトを公開する特別な読取り専用データベース・ビューです。

JSONコレクション・ビューは、概念的にはJSONリレーショナル二面性ビューに近いものですが、読取り専用であるため制限が少なくなります。

ドキュメントの表示に関する項

JSONレプリケーション

CREATEおよびALTER TABLE文のlogical_replication_clauseでの新しいオプションを使用すると、JSONの変更内容をどのようにログ記録するかを制御できます。JSONドキュメント全体を常にロギングするのではなく、変更された部分のみをログ記録するか(PARTIAL JSON)、引き続きドキュメント全体をログ記録するか(NO PARTIAL JSON)を選択できるようになりました。

部分JSONロギングでは、JSONデータの変更された部分のみを取得し転送することで、レプリケーションの効率が向上します。これにより、ネットワークとストレージのオーバーヘッドが減り、レプリケーションが促進され、既存のハードウェアでのパフォーマンスを高めてインフラストラクチャ全体のコストを削減できます。

ドキュメントの表示に関する項

JSON検索索引パスのサブセット化

JSON検索索引の作成時に、索引付けに含めるフィールドまたは索引付けから除外するフィールド(パスのサブセット化)を指定できます。

パスのサブセット化によって、検索索引のサイズが小さくなり、パフォーマンスが向上します。

ドキュメントの表示に関する項

JSONコレクション表のレプリケーション・サポート

JSONコレクション表は、GoldenGateを使用して論理レプリケーションに対して有効にできます。レプリケーションは、JSONリレーショナル二面性ビューおよびMongoDBなどのサード・パーティ製品との間でサポートされます。

レプリケーションは、Oracleデータベース間で機能する基本的なデータベース機能です。サードパーティ・データベース(MongoDBなど)からOracle AI Databaseへのオンライン移行を容易にするためにも使用されます。

ドキュメントの表示に関する項

JSONリレーショナル二面性ビューの定義における柔軟性の向上

ドキュメント・サブオブジェクトでfield _idを使用して、ドキュメントを選択する列を識別し、ID列を識別列として使用できます。

二面性ビューを定義する際のこのような追加の可能性により、サポートできるドキュメントの種類が多くなり、より多くのアプリケーション・ユースケースが可能になります。

ドキュメントの表示に関する項

JSON検索索引およびデータ・ガイドの変更

JSON検索索引およびJSONデータ・ガイドは、次のように拡張されています。最初の2つは、デフォルトの動作の変更を表します。

  1. JSON検索索引を作成する場合、デフォルトでデータ・ガイドは作成されません。
  2. デフォルトでは、DBMS_JSONプロシージャcreate_viewget_view_sqlおよびadd_virtual_columnsは名前の競合を解決します。つまり、パラメータresolveNameConflictsのデフォルト値はFALSEではなくTRUEです。  つまり、この結果のフィールド名が、同じデータ・ガイド内にすでにある場合、新しい順序番号が末尾に付加された固有の名前が付けられます。
  3. 関数json_dataguideは、フラグ・オプションDBMS_JSON.detect_datetimeを使用してISO 8601日時文字列値を検出するように拡張されています。

このオプションが存在する場合、OracleでサポートされているISO 8601の日付書式と時間書式の文字列であるフィールド値は、stringではなくtimestampとしてフィールドtypeの値を持つデータ・ガイドで表されます。

デフォルトの変更により、JSONデータ・ガイドの使いやすさとパフォーマンスが向上します。

ドキュメントの表示に関する項

JSONデータ型の比較およびソート

JSONデータ型をWHERE、ORDER BYおよびGROUP BY句で直接使用できるようになりました。

SQL構造にJSONデータ型を幅広く適用できることで、アプリケーション開発が簡素化され、明示的なキャストの必要性がなくなり、アプリケーションのパフォーマンスが向上します。

ドキュメントの表示に関する項

JSON配列に対するDBMS_AQのサポート

JSONデータ型配列は、メッセージの配列を1つの操作として処理する、メッセージを渡すアドバンスト・キューイング(AQ)関数のペイロードとして使用できます。これは、C (Oracle Call Interface)、PL/SQLおよびJava (JDBC)のAQインタフェースに適用されます。

アドバンスト・キューイングでは、JSONデータを直接使用して一括でメッセージを渡すことができます。 データ交換形式としてますます一般的になるJSONを使用すると、この機能により、より柔軟なアプリケーション開発が提供され、開発者の生産性が向上します。

ドキュメントの表示に関する項

JSON生成用のNULLの空の文字列

リレーショナル・データからJSONデータを生成する場合、SQLのNULL入力値はデフォルトでJSONのnull値になります。

Oracle SQLでは、SQLのNULL値を空の文字列値('')と区別できません。つまり、空のSQL文字列入力は、SQL NULLと同じように処理されます。この動作によって、ユーザーが混乱することがあります。

json_objectなどのSQL/JSON生成関数を使用する場合、CLOBVARCHAR2などのSQL文字データ型のNULL入力値に対して、ユーザーは空のJSON文字列("")を作成するように指定できます。関数json_scalarについても同様です。

この機能を使用した場合、空のSQL文字列からJSONの空の文字列("")を生成することは簡単で効率的です。この機能を使用しない場合、ユーザーは複雑なCASE文を使用して同じ操作を行う必要があります。

ドキュメントの表示に関する項

JSON_TRANSFORMの機能拡張

JSON_TRANSFORMは、右側のパス式、ネストされたパスおよび算術演算をサポートするように拡張されています。配列内の要素をソートできるSORT演算子がサポートされています。

JSON_TRANSFORMは、ディスク上の更新、および問合せのSELECT句の一時的な変更の両方について、JSONデータを変更するための主要なSQL演算子です。この機能拡張により、算術計算やネストされた配列に対する操作などの更新機能が向上し、開発者の生産性が向上します。

ドキュメントの表示に関する項

二面性ビュー作成のGraphQL構文の機能拡張

GraphQLをJSONリレーショナル二面性ビューに関して使用するための、次のような、構文の機能拡張があります:

  1. コメント
  2. 新しいディレクティブ: @cast@objectおよび@array
  3. 拡張されたディレクティブ: @generated@linkおよび@where
  4. 表/列の完全修飾名のサポート
  5. フィルタリングのための、例による問合せ(QBE)の述語(SQLのWHEREと類似)
  6. 問合せの引数を述語として使用する簡略化されたQBE

これらの機能拡張により、二面性ビューの作成時にGraphQLをより柔軟に使用できるようになります。

ドキュメントの表示に関する項

JSONコレクション

JSONコレクションは、JSONドキュメントのみをドキュメント・ストア互換形式(Oracle AI Database API for MongoDBなど)で格納する(または表す)特別な表またはビューです。JSONコレクションはデータベースに統合され、作成から操作、問合せ処理まで、SQLで完全に操作可能です。たとえば、JSONコレクション表への単純なINSERT AS SELECTを実行できます。

JSONコレクション表は、JSON二面性ビュー(リレーショナル・ストレージとJSONドキュメント処理の利点を単一のデータベース構造で提供するマーキーJSONコレクション・ビュー)を補完します。

ネイティブのJSONコレクションにより、Oracle AI Databaseエコシステム内のコレクションに格納されているJSONデータの操作が簡略化されます。たとえば、コレクションを使用すると、SQLでJSONドキュメントを簡単に分析し、それと同時に、ドキュメント中心のAPI (Oracle AI Database API for MongoDBなど)で操作的にそれらを使用できます。

ドキュメントの表示に関する項

JSONデータ・ガイド・フォーマットFORMAT_SCHEMA

フォーマットFORMAT_SCHEMAは、JSONドキュメントの検証に使用できるデータ・ガイドを生成します。

JSONドキュメントを検証するために使用できるJSONデータ・ガイド・ドキュメントを作成できます。

ドキュメントの表示に関する項

JSON型修飾子の機能拡張: データ・サイズおよび配列の指定

JSON型列の最大サイズをバイト単位で指定できます。

型修飾子ARRAYには、次を指定できます:

  • すべての配列要素に対する(単一の)スカラー型
  • 配列要素をJSON nullにできるかどうか
  • 配列要素の最大数
  • 配列要素を昇順で格納するかどうか

JSON型の列のサイズ制限を指定し、配列サイズ、要素タイプおよび格納順序を制約すると、格納されたJSONデータの処理がより効率的になる可能性があります。

ドキュメントの表示に関する項

JSONタイプ修飾子

JSON型の列に格納される値の種類は、表の作成時に修飾子キーワードOBJECTARRAYおよびSCALAR を列指定に追加することで、オブジェクト、配列、スカラーまたは組合せに限定できます。たとえば、DATA JSON (OBJECT)では、JSONオブジェクトのみを格納できるようになります。

修飾子OBJECTを単独で使用すると、その列のデータの、Oracle JSONコレクション内および一般的なドキュメント・データベース内のドキュメントとの互換性が確保されます。

ドキュメントの表示に関する項

外部表のJSONタイプのサポート

外部表には、JSONタイプの列のアクセスおよびダイレクト・ロードがサポートされています。JSONデータ型は、外部表定義で列タイプとしてサポートされています。 改行区切りおよびJSON配列ファイル・オプションがサポートされており、外部表からJSONデータを簡単にインポートできます。

この機能により、JSONタイプの列にデータを簡単にロードできるようになります。

ドキュメントの表示に関する項

JSON to Dualityマイグレータ: ヒント構成フィールド

二面性ビューのヒント構成フィールドでは、主キー列をサブオブジェクト・フィールドにマップしたり、SQLデータ型をフィールドにマップしたり、サブオブジェクトの基礎となるデータの共有を無効にできます。

二面性ビューでサポートされるドキュメントと、その基礎となるリレーショナル・データとの間のマッピングをより細かく制御できます:

  1. どのドキュメント・フィールドが主キー列に対応するか
  2. どのSQLデータ型が特定のフィールドの基礎となるか
  3. ドキュメント内の特定のオブジェクトを正規化するかどうか

この機能により、開発者は、シンプルさや効率性を損なうことなく、非常に効率的なリレーショナル・データ・ストレージ・モデルを使用して、データ・アクセスにJSONドキュメントを活用できます。

ドキュメントの表示に関する項

JSON to Duality Migrator: マルチコレクション・インポートAPI

DBMS_JSON_DUALITY.IMPORT_ALLは、複数のドキュメント・コレクションをJSONリレーショナル二面性ビューにインポートするために設計されたPL/SQLプロシージャです。

既存のDBMS_JSON_DUALITY.IMPORTプロシージャは1つのコレクションのインポートに限定されますが、1つのPL/SQLコールに複数のコレクションをインポートする機能によってプロセスが簡略化され、制約違反エラーの防止に役立ちます。IMPORT_ALLプロシージャを使用すると、複数のドキュメント・コレクションをJSONリレーショナル二面性ビューに効率的にインポートできます。

ドキュメントの表示に関する項

JSON to Dualityマイグレータ: JSONスキーマを使用したスキーマ推論

この機能により、JSON to Dualityマイグレータで、リレーショナル・スキーマ推論にユーザー指定のJSONスキーマを使用できるようになります。JSONスキーマは、単独で提供することも、正確なスキーマ推論のためにデータとともに提供することもできます。

この機能により、JSON to Dualityマイグレータを、マイグレータで分析するための大量のJSONデータがない顧客や、機密データをマイグレータに送信できない顧客が利用しやすくなります。それらの顧客は、それでも、コレクションごとにJSONスキーマがあればマイグレータを使用可能です。

ドキュメントの表示に関する項

JSON to Duality Migrator: スキーマとデータの検証

PL/SQL関数DBMS_JSON_DUALITY.VALIDATE_SCHEMA_REPORTおよびVALIDATE_IMPORT_REPORTは、JSON-To-Dualityマイグレータによって作成およびインポートされるリレーショナル・スキーマおよびデータを検証するために用意されています。

推奨されるリレーショナル・スキーマを検証する関数の必要性が増しています。このようなニーズに対応するために、次の機能を備えた検証APIが開発されています:

  • ユーザーが推奨されるリレーショナル・スキーマの正確性を検証する支援をする
  • ドキュメント・コレクションを二面性ビューに移行したときにデータが失われていないことを確認する

ドキュメントの表示に関する項

JSON-to-Duality Converter

既存のJSONコレクションを入力として設定すると、JSON-To-Dualityコンバータは、正規化されたリレーショナル・スキーマに基づいて、同じドキュメント・コレクションをサポートするJSONリレーショナル二面性ビューのセットを作成します。この作成にはユーザー監視は必要ありませんが、ユーザーはスキーマ推奨をオーバーライドできます。

この機能では、JSON-to-Duality Migratorの一部が提供されます。これは、ドキュメント中心のアプリケーションとそのJSONドキュメントをドキュメント・データベースからOracle AI Database内の二面性ビューに移動するための一連のPL/SQLプロシージャです。

ドキュメントの表示に関する項

JSON-to-Duality Importer

この機能により、JSONコレクションのセットから、JSON-to-Duality Converterを使用して作成されたJSONリレーショナル二面性ビューにアプリケーション・データがインポートされます。

この機能では、JSON-to-Duality Migratorの一部が提供されます。これは、ドキュメント中心のアプリケーションとそのJSONドキュメントをドキュメント・データベースからOracle AI Database内の二面性ビューに移動するための一連のPL/SQLプロシージャです。

ドキュメントの表示に関する項

PL/SQL集計タイプをJSONとの間で変換するJSON/JSON_VALUE

PL/SQL JSONコンストラクタは、対応するPL/SQL集計タイプのインスタンスを受け入れ、集計タイプ・データが移入されたJSONオブジェクトまたは配列タイプを返すように拡張されています。

PL/SQL JSON_VALUE演算子が拡張され、RETURNING句で、演算子が返すインスタンスのタイプを定義するタイプ名を受け入れることができるようになりました。

集計データ型のJSONコンストラクタのサポートにより、PL/SQLアプリケーションとJSONをサポートする言語間のデータ交換が合理化されます。

ドキュメントの表示に関する項

問合せによるJSON_ARRAYコンストラクタ

副問合せは、SQL/JSON関数のJSON_ARRAYの引数として使用して配列要素を定義できます。この機能は、SQL/JSON標準の一部です。 

この機能により、開発者の生産性が向上し、他のSQL/JSON標準準拠ソリューションとの相互運用性が向上します。

ドキュメントの表示に関する項

SQL/JSON実行時動作を制御するJSON_BEHAVIOR初期化パラメータ

初期化パラメータJSON_BEHAVIORを使用すると、データベース・セッション内のSQL/JSON演算子のデフォルトの動作を変更できます。

適用可能なSQL/JSON演算子のセッション中に、デフォルトの戻りデータ型、デフォルトの型互換性およびデフォルトのエラー動作を変更できます。

これにより、一貫性のあるセッション・レベルのJSON処理動作が強制され、個々のSQL文内のデフォルトの動作を明示的にオーバーライドする必要がなくなります。

ドキュメントの表示に関する項

JSON_EXPRESSION_CHECKパラメータ

新しいパラメータJSON_EXPRESSION_CHECKでは、JSON問合せチェックを有効または無効にできます。値は、onおよびoffです。デフォルトはoffです。現時点では、このパラメータはJSONリレーショナル二面性ビューに制限されています。パス式にタイポがある場合など、二面性ビュー上のJSONパス式が基礎となる列と一致しない場合、エラーが発生します。問合せのコンパイル中にエラーが発生します。

これにより、JSONリレーショナル二面性ビューでの作業が簡略化されます。これは、正しくないJSONパス式を実行時にデバッグする必要がなくなり、(エラーが発生して)問合せコンパイル時にフラグが付けられるためです。

ドキュメントの表示に関する項

JSON_ID SQL演算子

SQL演算子JSON_IDは、コレクション内のJSONドキュメントに一意にアクセスするための一意のドキュメント識別子値を生成します。JSON_IDの引数によって、値が12バイトのOIDか16バイトのUUIDかが決まります。Oracle JSONコレクションでは、JSON_IDを使用して、ドキュメント識別子フィールド_idの値を(自動または明示的に)作成します。

JSON_IDは、JSONドキュメントを一意に識別するためにID値の生成を簡略化します。

ドキュメントの表示に関する項

JSON_TRANSFORM演算子ADD_SETおよびREMOVE_SET

Oracle SQL関数のJSON_TRANSFORM演算子ADD_SETおよびREMOVE_SETは、JSON配列がセットであるかのように動作します。つまり、これらが要素が順序付けされておらず、一意(重複なし)であるかのように扱われます。

  • 演算子ADD_SETは、値がまだ要素でない場合にのみ、値を配列に追加します。
  • 演算子REMOVE_SETは、配列から指定された値のすべての出現を削除します。

アプリケーション・コードは、セットとして使用する配列をより簡潔に更新できます。

ドキュメントの表示に関する項

JSONのSQL関数によって返されるLOBは値ベースにできる

JSONのSQL関数がLOB値を返す場合、RETURNING句ではLOBが値ベースであることを指定できます。デフォルトでは、かわりにLOB参照が返されます。次に例を示します。

JSON_SERIALIZE (data returning CLOB VALUE)

値ベースのLOBは、明示的に解放する必要がないため、より簡単に使用できます。データベースは、値ベースのLOBのライフサイクルを完全に管理し、必要に応じて解放します。

ドキュメントの表示に関する項

新しいJSONデータ・ディクショナリ・ビュー

新しいディクショナリ・ビュー*_JSON_INDEXESおよび*_TABLE_VIRTUAL_COLUMNSが追加されました。

これらの新しいビューは、JSONデータを操作するために作成されたデータベース・オブジェクトに対するより優れたインサイトを提供します。

ドキュメントの表示に関する項

JSON_SERIALIZEのORDERED

SQL関数JSON_SERIALIZEには、キーと値のペアをアルファベット順に並べ替えるオプションのキーワードORDEREDがあります(昇順のみ)。オプションのキーワードPRETTYおよびASCIIと組み合せることができます。

シリアライズの結果の順序付けにより、ツールと人間の両方が値を比較しやすくなります。

ドキュメントの表示に関する項

JSONスキーマを使用した事前チェック可能な制約

無効なデータをデータベースに送信しないように、多くの場合、アプリケーションはデータを事前チェック(検証)できます。PL/SQL関数DBMS_JSON_SCHEMA.describeは、データベースの列レベル・チェック制約により実行される検証と同等の検証を実行するためにアプリケーションで使用できるJSONスキーマを提供し、同等のJSONスキーマのない制約を記録します。

アプリケーションは、静的ディクショナリ・ビューALL_CONSTRAINTSDBA_CONSTRAINTSおよびUSER_CONSTRAINTSを参照して、JSONスキーマで事前チェック可能な列を確認することもできます。

表を作成または変更する場合、キーワードPRECHECKを使用して、データベースの外部で列チェック制約を事前チェックできるかどうかを判断できます。特定のPRECHECK列チェック制約に同等のJSONスキーマが存在しない場合、エラーが発生します。

無効なデータを早期に検出すると、アプリケーションの回復力が向上し、潜在的なシステム・ダウンタイムが短縮されます。すべてのアプリケーションは、特定の列のデータが事前チェック可能かどうか、および可能であればどのJSONスキーマによって検証されるかについて、同じ情報にアクセスできます。

ドキュメントの表示に関する項

JSON_VALUEおよびJSON_QUERYの述語

述語を含むJSONパス式は、JSON_VALUEおよびJSON_QUERYで使用できます。この機能は、SQL/JSON標準の一部です。

JSONデータの問合せにより広くJSONパス式を適用すると、開発者の生産性が向上し、コード開発が簡略化されます。

ドキュメントの表示に関する項

JSON_TEXTCONTAINS()のSCORE補助演算子

この機能を使用すると、SCORE()演算子を使用して、JSON_TEXTCONTAINS()問合せのスコアを返すことができます。

スコアで結果を順序付けすることもできます。

JSON_TEXTCONTAINS関数は、SCORE()関数で使用する新しいパラメータを取得して、開発エクスペリエンスを向上させることができます。

ドキュメントの表示に関する項

SODAの拡張

SODA APIには様々な拡張機能があります:

  • マージおよびパッチ: 新しいSODA操作mergeOneおよびmergeOneAndGet。
  • 埋込みキー: ドキュメントのキーをドキュメント自体に埋め込むことができるようになりました。これは、MongoDB互換のコレクションに使用されます。
  • 動的データ・ガイド: データ・ガイドをその場で計算する操作が、PL/SQLおよびC以外の他のSODA言語に拡張されます。
  • サンプリング操作: サンプリング操作が、PL/SQLおよびC以外の他のSODA言語に拡張されます。
  • フラッシュバック: フラッシュバックを使用する操作が、PL/SQLおよびC以外の他のSODA言語に拡張されます。
  • ヒントおよび監視: ヒントおよびSQL監視が、PL/SQLおよびC以外の他のSODA言語に拡張されます。
  • 実行計画: SQL実行計画の取得が、PL/SQLおよびC以外の他のSODA言語に拡張されます。
  • Data GuardおよびGoldenGate: Oracle Data GuardおよびOracle GoldenGateを使用してSODAコレクションをレプリケートできるようになりました。
  • 索引検出: 特定のSODAコレクションのすべての索引をフェッチできるようになりました。
  • 複数値索引の作成: PL/SQL、CおよびJava用の新しいSODA APIで複数値索引を作成します。

これらの拡張により、SODAの一般的な使いやすさと機能が向上し、開発者の生産性が向上します。

ドキュメントの表示に関する項

JSONテキストのストレージをJSONタイプのストレージに移行するためのツール

新しいPL/SQLプロシージャDBMS_JSON.json_type_convertible_checkは、JSONテキストとして格納された既存のデータをJSONデータ型に移行できるかどうかをチェックします。このチェックが成功した後は、いくつかの代替方法でデータを移行できます。

バイナリJSONデータ型形式を利用すると、JSONデータの処理に最適なパフォーマンスが得られます。既存のデータをバイナリJSON形式に正常に変換できるシンプルで簡単な方法を提供することで、JSONデータに適したストレージ形式を採用できます。

ドキュメントの表示に関する項

JSONリレーショナル二面性ビューのWHERE句

JSONリレーショナル二面性ビューを作成する際、単純なWHERE句を使用して、基礎となる表のJSONデータを生成する行を制限できます。1つのユースケースとして、ドキュメントに識別列の値に応じて異なるデータが含まれる複数の二面性ビューを作成できます。たとえば、同じ基礎となる表を使用して、国コード列が指定された値(たとえば、フランスの場合はFR)を持つ表の行のみを選択するWHERE句を使用して、様々な国のデータのビューを定義できます。国ビューでサポートされているJSONドキュメントには、この要件が反映されており、この要件は更新に適用されます。

ビュー定義にWHERE句を使用すると、二面性ビューでサポートされているJSONドキュメントに含めるデータをきめ細かく制御できます。

ドキュメントの表示に関する項