Sobre a Exibição de Guias de Dados JSON

Um guia de dados JSON representa o esquema JSON para documentos em uma coluna com conteúdo JSON. Uma tabela pode ter mais de uma coluna com conteúdo JSON.

A opção Exibir Guias de Dados JSON está disponível no menu de contexto de uma tabela ou view em um diagrama do Data Modeler.

Imagem

Isso é aplicável a tabelas, views e tabelas externas que têm colunas com conteúdo JSON. Colunas com conteúdo JSON são identificadas e guias de dados são recuperados para cada coluna. Esse processo é mais rápido com a existência de um índice de pesquisa JSON.

O esquema JSON (JSON Data Guide) é apresentado visualmente como um diagrama de entidade-relacionamento. As matrizes são apresentadas como relacionamentos um-para-muitos, objetos contidos como relacionamentos um-para-um e construções "oneOf" como uma caixa que envolve opções possíveis. Há um seletor de colunas na parte superior direita da página, permitindo que você selecione uma coluna com conteúdo JSON para apresentação do diagrama.

O exemplo a seguir é um esquema JSON e sua representação em um diagrama de guia de dados.

{
  "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"
    }
  }
}
Esta imagem mostra o Guia de Dados JSON no formato de diagrama.

Para obter mais informações sobre guias de dados JSON, consulte o JSON Data Guide no Oracle Database JSON Developer's Guide.