A propos de l'affichage des guides de données JSON

Un guide de données JSON représente le schéma JSON pour les documents dans une colonne avec du contenu JSON. Une table peut comporter plusieurs colonnes avec du contenu JSON.

L'option Afficher les guides de données JSON est disponible dans le menu contextuel d'une table ou d'une vue dans un diagramme Data Modeler.

Image

Cela s'applique aux tables, vues et tables externes qui ont des colonnes avec du contenu JSON. Les colonnes contenant du contenu JSON sont identifiées et des guides de données sont extraits pour chacune de ces colonnes. Ce processus est plus rapide avec l'existence d'un index de recherche JSON.

Le schéma JSON (Guide de données JSON) est présenté visuellement comme un diagramme entité-relation. Les tableaux sont présentés sous la forme de relations un à plusieurs, les objets contenus sous la forme de relations un à un et les constructions "oneOf" sous la forme d'un cadre qui entoure les choix possibles. Dans la partie supérieure droite de la page, un sélecteur de colonne vous permet de sélectionner une colonne contenant du contenu JSON pour la présentation de diagramme.

L'exemple suivant est un schéma JSON et sa représentation dans un diagramme de guide de données.

{
  "type" : "object",
  "properties" :
  {
    "User" :
    {
      "type" : "string",
      "o:length" : 8,
      "o:preferred_column_name" : "DATA$User"
    },
    "PONumber" :
    {
      "type" : "number",
      "o:length" : 4,
      "o:preferred_column_name" : "DATA$PONumber"
    },
    "LineItems" :
    {
      "type" : "array",
      "o:length" : 1024,
      "o:preferred_column_name" : "DATA$LineItems",
      "items" :
      {
        "properties" :
        {
          "Part" :
          {
            "type" : "object",
            "o:length" : 256,
            "o:preferred_column_name" : "DATA$Part",
            "properties" :
            {
              "UPCCode" :
              {
                "type" : "number",
                "o:length" : 16,
                "o:preferred_column_name" : "DATA$UPCCode"
              },
              "UnitPrice" :
              {
                "type" : "number",
                "o:length" : 8,
                "o:preferred_column_name" : "DATA$UnitPrice"
              },
              "Description" :
              {
                "type" : "string",
                "o:length" : 128,
                "o:preferred_column_name" : "DATA$Description"
              }
            }
          },
          "Quantity" :
          {
            "type" : "number",
            "o:length" : 4,
            "o:preferred_column_name" : "DATA$Quantity"
          },
          "ItemNumber" :
          {
            "type" : "number",
            "o:length" : 1,
            "o:preferred_column_name" : "DATA$ItemNumber"
          }
        }
      }
    },
    "Reference" :
    {
      "type" : "string",
      "o:length" : 32,
      "o:preferred_column_name" : "DATA$Reference"
    },
    "Requestor" :
    {
      "type" : "string",
      "o:length" : 16,
      "o:preferred_column_name" : "DATA$Requestor"
    },
    "CostCenter" :
    {
      "type" : "string",
      "o:length" : 4,
      "o:preferred_column_name" : "DATA$CostCenter"
    },
    "ShippingInstructions" :
    {
      "type" : "object",
      "o:length" : 256,
      "o:preferred_column_name" : "DATA$ShippingInstructions",
      "properties" :
      {
        "name" :
        {
          "type" : "string",
          "o:length" : 16,
          "o:preferred_column_name" : "DATA$name"
        },
        "Phone" :
        {
          "type" : "array",
          "o:length" : 64,
          "o:preferred_column_name" : "DATA$Phone",
          "items" :
          {
            "properties" :
            {
              "type" :
              {
                "type" : "string",
                "o:length" : 8,
                "o:preferred_column_name" : "DATA$type"
              },
              "number" :
              {
                "type" : "string",
                "o:length" : 16,
                "o:preferred_column_name" : "DATA$number"
              }
            }
          }
        },
        "Address" :
        {
          "oneOf" :
          [
            {
              "type" : "string",
              "o:length" : 1,
              "o:preferred_column_name" : "DATA$Address"
            },
            {
              "type" : "object",
              "o:length" : 128,
              "o:preferred_column_name" : "DATA$Address_1",
              "properties" :
              {
                "city" :
                {
                  "type" : "string",
                  "o:length" : 32,
                  "o:preferred_column_name" : "DATA$city"
                },
                "state" :
                {
                  "type" : "string",
                  "o:length" : 2,
                  "o:preferred_column_name" : "DATA$state"
                },
                "street" :
                {
                  "type" : "string",
                  "o:length" : 32,
                  "o:preferred_column_name" : "DATA$street"
                },
                "country" :
                {
                  "type" : "string",
                  "o:length" : 32,
                  "o:preferred_column_name" : "DATA$country"
                },
                "zipCode" :
                {
                  "type" : "number",
                  "o:length" : 8,
                  "o:preferred_column_name" : "DATA$zipCode"
                }
              }
            }
          ]
        }
      }
    },
    "Special Instructions" :
    {
      "type" : "string",
      "o:length" : 16,
      "o:preferred_column_name" : "DATA$SpecialInstructions"
    }
  }
}
Cette image présente le guide de données JSON au format diagramme.

Pour plus d'informations sur les guides de données JSON, reportez-vous à Guide de données JSON dans le Guide du développeur Oracle Database JSON.