第II部 JSONデータの格納および管理
ここでは、データベース表でのJSON列の作成、このような表のパーティション化、Oracle GoldenGateを使用したレプリケーション、JSONデータの文字セット・エンコーディングについて取り上げます。また、列のデータが整形式のJSONデータであることを確認するためのチェック制約としての、SQL/JSON条件is json
の使用についても説明します。
- JSONデータの格納および管理の概要
この概要では、(1) JSON列のデータ型、(2) JSONデータ向けのLOB記憶域の考慮事項、(3) JSON列に整形式のJSONデータが格納されていることの確認、について説明します。 - JSON列を含む表の作成
JSON列を持つ表を作成できます。SQL条件is json
をチェック制約として使用して、列に挿入されるデータが(整形式の)JSONデータになるようにします。JSONデータを対象とした列を作成する場合は常にis_json
チェック制約を使用することをお薦めします。 - SQL/JSON条件IS JSONおよびIS NOT JSON
SQL/JSON条件is json
およびis not json
は補足的な条件です。これらは、引数が構文的に正しい(つまり、整形式の)JSONデータかどうかをテストします。これらは、SELECT
文のCASE
式またはWHERE
句で使用できます。is json
はチェック制約で使用できます。 - JSONデータの文字セットおよび文字エンコーディング
テキストのJSONデータでは常にUnicode文字セットが使用されます。この点で、JSONデータの方がXMLデータより簡単に使用できます。これは、JSONデータ交換フォーマットの重要な部分です(RFC 4627)。Oracle Databaseで処理されるJSONデータでは、必要な文字セットの変換が自動的に行われます。 - JSONデータにLOB記憶域を使用する際の考慮事項
クライアントを使用してJSONデータをLOBインスタンスとして取得する場合の考慮事項など、JSONデータのLOB記憶域に関する考慮事項について説明します。 - JSONデータのパーティション化
JSON仮想列をパーティション化キーとして使用して、表をパーティション化できます。仮想列は、SQL/JSONファンクションjson_value
を使用してJSON列から抽出されます。 - JSONデータのレプリケーション
Oracle GoldenGateを使用して、JSONデータが格納された列を持つ表をレプリケートできます。