Métadonnées de collection SODA

Il décrit les métadonnées de collection SODA sur la base de données.

Métadonnées de collection SODA sur Autonomous Database

Décrit les métadonnées de collection par défaut et personnalisées sur Autonomous Database.

Métadonnées de collection SODA par défaut sur Autonomous Database

Décrit les métadonnées de collection par défaut sur Autonomous Database, c'est-à-dire les métadonnées d'une collection qui sont ajoutées lorsque les métadonnées personnalisées ne sont pas fournies.

Chaque implémentation SODA permet de créer une collection par défaut lorsque vous indiquez un nom de collection. Par exemple, dans SODA pour Java, utilisez la méthode createCollection et fournissez uniquement un paramètre de nom de collection :

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

Cette opération crée une collection avec les métadonnées de collection par défaut. Lorsque vous créez une collection par défaut sur votre base de données, les métadonnées de collection incluent les informations suivantes (quelle que soit l'implémentation SODA utilisée pour créer la collection par défaut) :

{
   "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
}
Remarque

Si vous utilisez Autonomous Database Toujours gratuit avec Oracle Database 23ai, les métadonnées par défaut sont les suivantes.
{
   "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
}

Métadonnées de collection SODA personnalisées sur Autonomous Database

Décrit les métadonnées personnalisées de collection SODA sur Autonomous Database.

Chaque implémentation SODA permet de personnaliser les métadonnées de collection lors de la création de la collection. Par exemple, dans SODA pour Java, vous pouvez utiliser la commande suivante :

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

Dans cet exemple, pour metadata_string, vous pouvez utiliser les métadonnées par défaut comme point de départ et personnaliser les éléments suivants :

  • Remplacez keyColumn.assignmentMethod par CLIENT : remplacez la valeur de assignmentMethod sous keyColumn dans les métadonnées par CLIENT (au lieu de UUID).

    Valeurs valides pour keyColumn.assignmentMethod sur Autonomous Database :

    • UUID (valeur par défaut) : les clés sont générées par SODA, en fonction de UUID

    • CLIENT : les clés sont affectées par l'application client

  • Indiquez une valeur mediaTypeColumn name : une colonne de type de support est nécessaire si la collection doit être hétérogène, c'est-à-dire qu'elle peut stocker des documents dans des formats autres que JSON (JavaScript Object Notation). Pour plus d'informations, reportez-vous à Nom de colonne de type de support.

L'exemple suivant spécifie des clés affectées par le client et une colonne de type de support personnalisée. mediaTypeColumn name est spécifié avec la valeur YOUR_MEDIA_TYPE_COLUMN_NAME. Sinon, les paramètres par défaut sont utilisés.

{
   "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
}