7 SODAコレクション・メタデータ・コンポーネント(参考)
コレクション・メタデータは複数のコンポーネントから構成されます。コンポーネントの詳細な定義を示します。
ノート:
コレクション・メタデータ・コンポーネント(スキーマ名、表名、ビュー名、データベースの順序名および列名)に使用する識別子は有効なOracleの引用符付き識別子にする必要があります。脚注1Oracleの引用符付き識別子に許可されている一部の文字および単語はお薦めしません。詳細は、『Oracle Database SQL言語リファレンス』を参照してください
- スキーマ
コレクションがマップされる表またはビューを所有するOracle Databaseスキーマの名前を指定するコレクション・メタデータ・コンポーネントです。 - 表またはビュー
コレクションがマップされる表またはビューの名前を指定するコレクション・メタデータ・コンポーネントです。 - キー列名
ドキュメント・キーを格納する列の名前を指定するコレクション・メタデータ・コンポーネントです。 - キー列の型
ドキュメント・キーを格納する列のSQLデータ型を指定するコレクション・メタデータ・コンポーネントです。 - キー列の最大長
キー列の最大長をバイト単位で指定するコレクション・メタデータ・コンポーネントです。このコンポーネントはVARCHAR2
型のキーのみに適用されます。 - キー列の割当てメソッド
コレクションに挿入するオブジェクトにキーを割り当てる際に使用されるメソッドを指定するコレクション・メタデータ・コンポーネントです。 - キー列の順序名
キー割当てメソッドがSEQUENCE
の場合に、コレクションに挿入するドキュメントのキーを生成するデータベース順序の名前を指定するコレクション・メタデータ・コンポーネントです。 - コンテンツ列名
データベース・コンテンツを格納する列の名前を指定するコレクション・メタデータ・コンポーネントです。 - コンテンツ列の型
ドキュメント・コンテンツを格納する列のSQLデータ型を指定するコレクション・メタデータ・コンポーネントです。 - コンテンツ列の最大長
コンテンツ列の最大長をバイト単位で指定するコレクション・メタデータ・コンポーネントです。このコンポーネントはVARCHAR2
型のコンテンツのみに適用されます。 - コンテンツ列のJSON検証
JavaScript Object Notation (JSON)のコンテンツが準拠する必要のある構文(厳密構文または緩慢構文)を指定するコレクション・メタデータ・コンポーネントです。 - コンテンツ列のSecureFiles LOB圧縮
SecureFiles LOB圧縮設定を指定するコレクション・メタデータ・コンポーネントです。 - コンテンツ列のSecureFiles LOBのキャッシュ
SecureFiles LOBのキャッシュ設定を指定するコレクション・メタデータ・コンポーネントです。 - コンテンツ列のSecureFiles LOBの暗号化
SecureFiles LOBの暗号化設定を指定するコレクション・メタデータ・コンポーネントです。 - バージョン列名
ドキュメント・バージョンを格納する列の名前を指定するコレクション・メタデータ・コンポーネントです。 - バージョン列の生成メソッド
コレクションに挿入するか、置き換えるときにオブジェクトのバージョン値の計算に使用されるメソッドを指定するコレクション・メタデータ・コンポーネントです。 - 最終変更のタイムスタンプの列名
ドキュメントの最終変更のタイムスタンプを格納する列の名前を指定するコレクション・メタデータ・コンポーネントです。 - 最終変更の列索引名
最終変更の列索引の名前を指定するコレクション・メタデータ・コンポーネントです。 - 作成時のタイムスタンプの列名
ドキュメントの作成時のタイムスタンプを格納する列の名前を指定するコレクション・メタデータ・コンポーネントです。このタイムスタンプは、insert
、insertAndGet
、save
またはsaveAndGet
操作時に生成されます。 - メディア・タイプ列名
ドキュメントのメディア・タイプを格納する列の名前を指定するコレクション・メタデータ・コンポーネントです。異種コレクションの場合、つまり、コレクションがJavaScript Object Notation (JSON)以外のドキュメントを格納できる場合、メディア・タイプ列が必要です。 - 読取り専用
コレクションが読取り専用かどうかを指定するコレクション・メタデータ・コンポーネントです。
7.1 スキーマ
コレクションがマップされる表またはビューを所有するOracle Databaseスキーマの名前を指定するコレクション・メタデータ・コンポーネントです。
プロパティ | 値 |
---|---|
デフォルト値 |
なし |
指定できる値 |
Oracleの有効な引用符付き識別子脚注1。この値に二重引用符記号( |
JSONコレクション・メタデータのドキュメント・パス |
|
関連項目:
Oracleの有効な引用符付き識別子の詳細は、『Oracle Database SQL言語リファレンス』を参照してください
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.2 表またはビュー
コレクションがマップされる表またはビューの名前を指定するコレクション・メタデータ・コンポーネントです。
プロパティ | 値 |
---|---|
デフォルト値 |
なし |
指定できる値 |
Oracleの有効な引用符付き識別子脚注1。この値に二重引用符記号( |
JSONコレクション・メタデータのドキュメント・パス |
|
関連項目:
Oracleの有効な引用符付き識別子の詳細は、『Oracle Database SQL言語リファレンス』を参照してください
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.3 キー列名
ドキュメント・キーを格納する列の名前を指定するコレクション・メタデータ・コンポーネントです。
プロパティ | 値 |
---|---|
デフォルト値 |
|
指定できる値 |
Oracleの有効な引用符付き識別子脚注1(『Oracle Database SQL言語リファレンス』を参照)。この値に二重引用符記号( |
JSONコレクション・メタデータのドキュメント・パス |
|
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.4 キー列の型
ドキュメント・キーを格納する列のSQLデータ型を指定するコレクション・メタデータ・コンポーネントです。
プロパティ | 値 |
---|---|
デフォルト値 |
|
指定できる値 |
|
JSONコレクション・メタデータのドキュメント・パス |
|
注意:
クライアント割当てキーが使用され、キー列タイプがVARCHAR2
の場合、データベース文字セットにはAL32UTF8が推奨されます。これにより、キーからデータベース文字セットへの変換がロスレスになります。
それ以外の場合、クライアント割当てキーにデータベース文字セットでサポートされない文字が含まれる場合、読取りまたは書込み操作時に、データベース文字セットへのキーの変換は失われます。これにより、挿入操作中に重複キー・エラーが発生することがあります。もっと一般的に言うと、予測できない結果が生じることがあります。たとえば、読取り操作で、予定したキーとは異なるキーに関連付けられている値が返されることがあります。
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.5 キー列の最大長
キー列の最大長をバイト単位で指定するコレクション・メタデータ・コンポーネントです。このコンポーネントはVARCHAR2
型のキーのみに適用されます。
プロパティ | 値 |
---|---|
デフォルト値 |
|
指定できる値 |
キーの割当てメソッドが |
JSONコレクション・メタデータのドキュメント・パス |
|
関連トピック
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.6 キー列の割当てメソッド
コレクションに挿入するオブジェクトにキーを割り当てる際に使用されるメソッドを指定するコレクション・メタデータ・コンポーネントです。
プロパティ | 値 |
---|---|
デフォルト値 |
|
指定できる値 |
これらのメソッドの詳細は、表7-1を参照してください。 |
JSONコレクション・メタデータのドキュメント・パス |
|
表7-1 キーの割当て方法
メソッド | 説明 |
---|---|
|
キーはSQLファンクション |
|
キーはデータベース順序によってOracle Databaseに生成されます。キーの割当てメソッドを |
|
キーはクライアント・アプリケーションによって割り当てられます。 |
|
キーは、SODAによって、 |
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.7 キー列の順序名
キーの割当てメソッドがSEQUENCE
の場合にコレクションに挿入するドキュメントのキーを生成するデータベース順序の名前を指定するコレクション・メタデータ・コンポーネントです。
キーの割当てメソッドをSEQUENCE
として指定する場合、その順序名も指定する必要があります。指定した順序が存在しない場合は、SODAによって作成されます。
プロパティ | 値 |
---|---|
デフォルト値 |
なし |
指定できる値 |
Oracleの有効な引用符付き識別子脚注1(『Oracle Database SQL言語リファレンス』を参照)。この値に二重引用符記号( |
JSONコレクション・メタデータのドキュメント・パス |
|
ノート:
SODAを使用してコレクションをドロップしても、キーの生成に使用する順序はドロップされません。これは、SODAを使用して作成されていないためです。順序をドロップするには、最初にコレクションをドロップしてから、SQLコマンドDROP SEQUENCE
を使用します。
関連トピック
関連項目:
-
DROP SEQUENCE
の詳細は、『Oracle Database SQL言語リファレンス』を参照してください -
データベース順序の詳細は、『Oracle Database概要』を参照してください
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.8 コンテンツ列名
データベース・コンテンツを格納する列の名前を指定するコレクション・メタデータ・コンポーネントです。
プロパティ | 値 |
---|---|
デフォルト値 |
|
指定できる値 |
Oracleの有効な引用符付き識別子脚注1(『Oracle Database SQL言語リファレンス』を参照)。この値に二重引用符記号( |
JSONコレクション・メタデータのドキュメント・パス |
|
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.9 コンテンツ列の型
ドキュメント・コンテンツを格納する列のSQLデータ型を指定するコレクション・メタデータ・コンポーネントです。
プロパティ | 値 |
---|---|
デフォルト値 |
|
指定できる値 |
|
JSONコレクション・メタデータのドキュメント・パス |
|
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.10 コンテンツ列の最大長
コンテンツ列の最大長をバイト単位で指定するコレクション・メタデータ・コンポーネントです。このコンポーネントはVARCHAR2
型のコンテンツのみに適用されます。
プロパティ | 値 |
---|---|
デフォルト値 |
4000 |
指定できる値 |
拡張データ型が有効になっている場合、32767。それ以外の場合で列型が |
JSONコレクション・メタデータのドキュメント・パス |
|
7.11 コンテンツ列のJSON検証
JavaScript Object Notation (JSON)コンテンツが従う必要がある構文(厳密構文または緩慢構文)を指定するコレクション・メタデータ・コンポーネントです。
プロパティ | 値 |
---|---|
デフォルト値 |
|
指定できる値 |
|
JSONコレクション・メタデータのドキュメント・パス |
|
-
STANDARD
は、JSON RFC 4627標準に従って検証します。(Oracle SQL条件is json
に定義された厳密な構文に対応します。) -
STRICT
はSTANDARD
と同じですが、ドキュメントに重複したJSONフィールド名が含まれていないことも確認する点のみ異なります。(SQLキーワードWITH UNIQUE KEYS
も使用する場合、Oracle SQL条件is json
に定義された厳密な構文に対応します。) -
LAX
は、より緩慢に検証します。(Oracle SQL条件is json
に定義された緩慢な構文に対応します。)LAX
で許可される緩和の一部として、次のものがあります。-
JSONフィールド名を二重引用符(
"
)で囲む必要はありません。 -
true
、false
およびnull
の、大文字、小文字および混在バージョンが許可されます。 -
数字はその他の方法で表すことができます。
-
関連項目:
-
厳密なJSON構文および緩慢なJSON構文の詳細は、Oracle Database JSON開発者ガイドを参照
-
JSON RFC 4627標準のJavaScript Object Notation (JSON)のapplication/jsonメディア・タイプ
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.12 コンテンツ列のSecureFiles LOB圧縮
SecureFiles LOB圧縮設定を指定するコレクション・メタデータ・コンポーネントです。
プロパティ | 値 |
---|---|
デフォルト値 |
|
指定できる値 |
|
JSONコレクション・メタデータのドキュメント・パス |
|
関連項目:
SecureFiles LOB記憶域の詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.13 コンテンツ列のSecureFiles LOBのキャッシュ
SecureFiles LOBのキャッシュ設定を指定するコレクション・メタデータ・コンポーネントです。
プロパティ | 値 |
---|---|
デフォルト値 |
|
指定できる値 |
|
JSONコレクション・メタデータのドキュメント・パス |
|
関連項目:
SecureFiles LOB記憶域の詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.14 コンテンツ列のSecureFiles LOBの暗号化
SecureFiles LOBの暗号化設定を指定するコレクション・メタデータ・コンポーネントです。
SecureFiles LOB暗号化を使用するコレクションを作成する前に、暗号化ウォレットを設定する必要があります。
プロパティ | 値 |
---|---|
デフォルト値 |
|
指定できる値 |
|
JSONコレクション・メタデータのドキュメント・パス |
|
関連項目:
-
SecureFiles LOB記憶域の詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照
-
ALTER SYSTEM
文のSET ENCRYPTION WALLET
句を使用して暗号化ウォレットを設定する方法の詳細は、Oracle Database SQL言語リファレンスを参照してください。
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.15 バージョン列名
ドキュメント・バージョンを格納する列の名前を指定するコレクション・メタデータ・コンポーネントです。
プロパティ | 値 |
---|---|
デフォルト値 |
|
指定できる値 |
Oracleの有効な引用符付き識別子脚注1(『Oracle Database SQL言語リファレンス』を参照)。この値に二重引用符記号( |
JSONコレクション・メタデータのドキュメント・パス |
|
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.16 バージョン列の生成メソッド
コレクションに挿入するか、置き換わるときにオブジェクトのバージョン値の計算に使用されるメソッドを指定するコレクション・メタデータ・コンポーネントです。
プロパティ | 値 |
---|---|
デフォルト値 |
|
指定できる値 |
|
JSONコレクション・メタデータのドキュメント・パス |
|
表7-2に、バージョン生成メソッドを示します。
表7-2 バージョン生成メソッド
メソッド | 説明 |
---|---|
|
ドキュメントが挿入されたときおよび置換操作ごとに、SODAではオブジェクト・コンテンツを無視して、Universally Unique Identifier (UUID)が生成されます。効率的ですが、元のドキュメントと置換後のドキュメントが同じであってもバージョンが変更されます。 バージョン列型の値は、 |
|
SODAではオブジェクト・コンテンツを無視して、タイムスタンプから値を生成し、これを バージョン列型の値は、 |
|
SODAでは、MD5アルゴリズムを使用してドキュメント・コンテンツのハッシュ値を計算します。このメソッドは バージョン列型の値は、 |
|
SODAでは、SHA256アルゴリズムを使用してドキュメント・コンテンツのハッシュ値を計算します。このメソッドは バージョン列型の値は、 |
|
SODAにより、オブジェクトのコンテンツを無視して、オブジェクトが挿入されたときにバージョン1が割り当てられ、オブジェクトが置換されるたびにバージョン値が増分されます。バージョン値はユーザーにわかりやすい値ですが、元のドキュメントと置換後のドキュメントが同じであってもバージョンが変更されます。 バージョン列型の値は、 |
|
バージョン列が存在する場合、 |
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.17 最終変更のタイムスタンプの列名
ドキュメントの最終変更のタイムスタンプを格納する列の名前を指定するコレクション・メタデータ・コンポーネントです。
プロパティ | 値 |
---|---|
デフォルト値 |
|
指定できる値 |
Oracleの有効な引用符付き識別子脚注1(『Oracle Database SQL言語リファレンス』を参照)。この値に二重引用符記号( |
JSONコレクション・メタデータのドキュメント・パス |
|
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.18 最終変更の列索引名
最終変更の列索引の名前を指定するコレクション・メタデータ・コンポーネントです。
このコンポーネントの値は、最終変更のタイムスタンプ列の一意でない索引の名前です。名前が指定されている場合、インデックスが作成されます。この索引は、最終変更のタイムスタンプによって決定された読取りおよび書込み操作のパフォーマンスを向上させることができます。
SODA for RESTのみに、このような操作(タイムスタンプ・パラメータsince
およびuntil
を伴う操作GET
コレクション)が用意されています。他の実装では、最終変更のタイムスタンプによって決定される読取り操作または書込み操作を提供しないため、このコンポーネントは使用しません。SODA for RESTの場合であっても、索引の作成と保守にコストがかかるため、アプリケーションでタイムスタンプで決定される読込み操作や書込み操作を使用しないことが確実な場合は、このコンポーネントを設定しないほうが一般的です
プロパティ | 値 |
---|---|
デフォルト値 |
なし |
指定できる値 |
Oracleの有効な引用符付き識別子脚注1(『Oracle Database SQL言語リファレンス』を参照)。この値に二重引用符記号( |
JSONコレクション・メタデータのドキュメント・パス |
|
関連項目:
Oracle REST Data Services RESTのためのSODA開発者ガイド
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.19 作成時のタイムスタンプの列名
ドキュメントの作成時のタイムスタンプを格納する列の名前を指定するコレクション・メタデータ・コンポーネントです。このタイムスタンプは、insert
、insertAndGet
、save
またはsaveAndGet
操作時に生成されます。
プロパティ | 値 |
---|---|
デフォルト値 |
|
指定できる値 |
Oracleの有効な引用符付き識別子脚注1(『Oracle Database SQL言語リファレンス』を参照)。この値に二重引用符記号( |
JSONコレクション・メタデータのドキュメント・パス |
|
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.20 メディア・タイプ列名
ドキュメントのメディア・タイプを格納する列の名前を指定するコレクション・メタデータ・コンポーネントです。異種コレクションの場合、つまり、コレクションがJavaScript Object Notation (JSON)以外のドキュメントを格納できる場合、メディア・タイプ列が必要です。
ノート:
異種コレクションで例による問合せ(QBE)は使用できません。試みると、エラーが発生します。
プロパティ | 値 |
---|---|
デフォルト値 |
なし |
指定できる値 |
Oracleの有効な引用符付き識別子脚注1(『Oracle Database SQL言語リファレンス』を参照)。この値に二重引用符記号( |
JSONコレクション・メタデータのドキュメント・パス |
|
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
7.21 読取り専用
コレクションが読取り専用かどうかを指定するコレクション・メタデータ・コンポーネントです。
プロパティ | 値 |
---|---|
デフォルト値 |
|
指定できる値 |
|
JSONコレクション・メタデータのドキュメント・パス |
|
親トピック: SODAコレクション・メタデータ・コンポーネント(参考)
脚注凡例
脚注1:リマインダ: 大文字/小文字を区別して解釈されるため、大文字/小文字は引用符で囲まれたSQL識別子では重要です。