SODAコレクション・メタデータ

データベースのSODAコレクション・メタデータについて説明します。

Autonomous DatabaseのSODAコレクション・メタデータ

Autonomous Databaseのデフォルトおよびカスタマイズされたコレクション・メタデータについて説明します。

Autonomous DatabaseのSODAデフォルト・コレクション・メタデータ

Autonomous Databaseのデフォルト・コレクション・メタデータ、つまり、カスタム・メタデータが指定されていない場合に追加されるコレクションのメタデータについて説明します。

各SODA実装で、コレクション名を指定するときにデフォルトのコレクションを作成する方法が提供されます。たとえば、SODA for Javaでは、createCollectionメソッドを使用し、コレクション名パラメータのみを指定します:

db.admin().createCollection("myCol");

これにより、デフォルトのコレクション・メタデータでコレクションが作成されます。データベースにデフォルトのコレクションを作成すると、(デフォルトのコレクションの作成に使用するSODA実装に関係なく)コレクション・メタデータには次の情報が含まれます:

{
   "keyColumn" :
   {
      "name" : "ID",
      "sqlType" : "VARCHAR2",
      "maxLength" : 255,
      "assignmentMethod" : "UUID"
   },

   "contentColumn" :
   {
      "name" : "JSON_DOCUMENT",
      "sqlType" : "BLOB",
      "jsonFormat" : "OSON"
   },
   "versionColumn" :
   {
     "name" : "VERSION",
     "method" : "UUID"
   },
   
   "lastModifiedColumn" :
   {
     "name" : "LAST_MODIFIED"
   },
   
   "creationTimeColumn" :
   {
      "name" : "CREATED_ON"
   },
   
   "readOnly" : false
}
ノート

Oracle Database 23aiでAlways Free Autonomous Databaseを使用すると、デフォルトのメタデータが次のように変更されます。
{
   "keyColumn" :
   {
      "name" : "ID",
      "sqlType" : "VARCHAR2",
      "maxLength" : 255,
      "assignmentMethod" : "UUID"
   },

   "contentColumn" :
   {
      "name" : "JSON_DOCUMENT",
      "sqlType" : "JSON",
   },
   "versionColumn" :
   {
     "name" : "VERSION",
     "method" : "UUID"
   },
   
   "lastModifiedColumn" :
   {
     "name" : "LAST_MODIFIED"
   },
   
   "creationTimeColumn" :
   {
      "name" : "CREATED_ON"
   },
   
   "readOnly" : false
}

Autonomous DatabaseのSODAカスタマイズ済コレクション・メタデータ

Autonomous DatabaseのSODAコレクション・カスタム・メタデータについて説明します。

各SODA実装で、コレクションの作成中にコレクション・メタデータをカスタマイズする方法が提供されます。たとえば、SODA for Javaでは次のコマンドを使用できます:

OracleDocument metadata = db.createDocumentFromString("metadata_string");
OracleCollection col = db.admin().createCollection("myCustomColl", metadata);

この例では、metadata_stringについて、デフォルト・メタデータを開始点として使用して、次のようにカスタマイズできます:

  • keyColumn.assignmentMethodCLIENTに変更: メタデータのkeyColumnの下にあるassignmentMethodの値を(UUIDではなく) CLIENTに変更します。

    Autonomous DatabaseでkeyColumn.assignmentMethodに有効な値:

    • UUID (デフォルト): キーは、SODAによって、UUIDに基づいて生成されます。

    • CLIENT: キーはクライアント・アプリケーションによって割り当てられます。

  • mediaTypeColumn name値を指定: コレクションを異種にする場合、つまり、コレクションにJavaScript Object Notation (JSON)以外のドキュメントを格納できるようにする場合は、メディア・タイプ列が必要です。詳細は、メディア・タイプ列名を参照してください。

次の例では、クライアントに割り当てられたキーおよびカスタム・メディア・タイプ列を指定します。mediaTypeColumn nameは、値YOUR_MEDIA_TYPE_COLUMN_NAMEとともに指定します。そうしない場合、デフォルト設定が使用されます。

{
   "keyColumn" :
   {
      "name" : "ID",
      "sqlType" : "VARCHAR2",
      "maxLength" : 255,
      "assignmentMethod" : "CLIENT"
   },
   
   "contentColumn" :
   {
      "name" : "JSON_DOCUMENT",
      "sqlType" : "BLOB"
   },

   "versionColumn" :
   {
     "name" : "VERSION",
     "method" : "UUID"
   },

   "lastModifiedColumn" :
   {
     "name" : "LAST_MODIFIED"
   },

   "creationTimeColumn" :
   {
      "name" : "CREATED_ON"
   },

   "mediaTypeColumn" :
   {
      "name" : "YOUR_MEDIA_TYPE_COLUMN_NAME"
   },

   "readOnly" : false
}