Metadati raccolta SODA

Descrive i metadati della raccolta SODA nel database.

Metadati di raccolta SODA su Autonomous Database

Descrive i metadati di raccolta predefiniti e personalizzati in Autonomous Database.

Metadati di raccolta predefiniti SODA su Autonomous Database

Descrive i metadati di raccolta predefiniti in Autonomous Database, ovvero i metadati per una raccolta che viene aggiunta quando i metadati personalizzati non vengono forniti.

Ogni implementazione SODA consente di creare una raccolta predefinita quando si fornisce il nome di una raccolta. Ad esempio, in SODA per Java si utilizza il metodo createCollection e si fornisce solo un parametro del nome della raccolta:

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

In questo modo viene creata una raccolta con i metadati di raccolta predefiniti. Quando si crea una raccolta predefinita nel database, i metadati della raccolta includono le seguenti informazioni (indipendentemente dall'implementazione SODA utilizzata per creare la raccolta predefinita):

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

Utilizzando Autonomous Database Sempre gratis con Oracle Database 23ai, i metadati predefiniti vengono modificati come indicato di seguito.
{
   "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
}

Metadati di raccolta personalizzati SODA su Autonomous Database

Descrive i metadati personalizzati della raccolta SODA in Autonomous Database.

Ogni implementazione SODA consente di personalizzare i metadati di raccolta durante la creazione della raccolta. Ad esempio, in SODA per Java è possibile utilizzare il seguente comando:

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

In questo esempio, per metadata_string è possibile utilizzare i metadati predefiniti come punto di partenza e personalizzare quanto segue:

  • Modificare keyColumn.assignmentMethod in CLIENT: modificare il valore del assignmentMethod in keyColumn nei metadati in CLIENT (invece di UUID).

    Valori validi per keyColumn.assignmentMethod su Autonomous Database:

    • UUID (impostazione predefinita): le chiavi vengono generate da SODA in base al file UUID.

    • CLIENT: le chiavi vengono assegnate dall'applicazione CLIENT.

  • Fornire un valore mediaTypeColumn name: una colonna di tipo di supporto è necessaria se la raccolta deve essere eterogenea, ovvero può memorizzare documenti diversi da JavaScript Object Notation (JSON). Per i dettagli, vedere Nome colonna tipo di supporto.

L'esempio seguente specifica le chiavi assegnate dal client e una colonna per il tipo di supporto personalizzato. Il valore mediaTypeColumn name viene specificato con il valore YOUR_MEDIA_TYPE_COLUMN_NAME. Altrimenti, vengono utilizzate le impostazioni predefinite.

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