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 Standard-Collection für die Datenbank erstellen, enthalten die Collection-Metadaten die folgenden Informationen (unabhängig davon, mit welcher SODA-Implementierung Sie die Standard-Collection erstellen):

{
   "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, werden die Standardmetadaten wie folgt geändert.
{
   "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 Medientypspalten.

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
}