SODA-Collection-Metadaten

Es beschreibt SODA-Collection-Metadaten in der Datenbank.

SODA-Collection-Metadaten in Autonomous Database

Beschreibt standardmäßige und benutzerdefinierte Collection-Metadaten in Autonomous Database.

Standardmäßige SODA-Collection-Metadaten in Autonomous Database

Beschreibt die Standard-Collection-Metadaten in Autonomous Database, also die Metadaten für eine Collection, die hinzugefügt werden, wenn keine benutzerdefinierten Metadaten angegeben werden.

Jede SODA-Implementierung bietet eine Möglichkeit, eine Standard-Collection zu erstellen, wenn Sie einen Collection-Namen angeben. Beispiel: In SODA für Java verwenden Sie die Methode createCollection und geben nur einen Collection-Namensparameter an:

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

Dadurch wird eine Collection mit Standard-Collection-Metadaten erstellt. Wenn Sie eine Default Collection für Ihre Datenbank erstellen, enthalten die Collection-Metadaten die folgenden Informationen (unabhängig davon, welche SODA-Implementierung Sie zum Erstellen der Default Collection verwenden):

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

Wenn Sie Autonomous Database vom Typ "Immer kostenlos" mit Oracle Database 23ai verwenden, ändern sich die Standardmetadaten wie folgt.
{
   "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
}

Benutzerdefinierte SODA-Collection-Metadaten in Autonomous Database

Beschreibt benutzerdefinierte SODA-Collection-Metadaten in Autonomous Database.

Jede SODA-Implementierung bietet eine Möglichkeit, die Collection-Metadaten während der Collection-Erstellung anzupassen. Beispiel: In SODA für Java können Sie den folgenden Befehl verwenden:

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

In diesem Beispiel können Sie für metadata_string die Standardmetadaten als Ausgangspunkt verwenden und Folgendes anpassen:

  • Ändern Sie keyColumn.assignmentMethod in CLIENT: Ändern Sie den Wert von assignmentMethod unter keyColumn in den Metadaten in CLIENT (anstelle von UUID).

    Gültige Werte für keyColumn.assignmentMethod in Autonomous Database:

    • UUID (Standard): Schlüssel werden von SODA basierend auf der UUID generiert.

    • CLIENT: Schlüssel werden von der Clientanwendung zugewiesen.

  • Geben Sie einen name-Wert für mediaTypeColumn an: Eine Medientypspalte ist erforderlich, wenn die Collection heterogen sein soll. Das heißt, sie kann andere Dokumente als JavaScript Object Notation (JSON) speichern. Weitere Einzelheiten finden Sie unter Name für Medientypspalte.

Im folgenden Beispiel werden vom Client zugewiesene Schlüssel und eine benutzerdefinierte Medientypspalte angegeben. Der name-Wert der mediaTypeColumn wird mit dem Wert YOUR_MEDIA_TYPE_COLUMN_NAME angegeben. Ansonsten werden die Standardeinstellungen verwendet.

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