Esquema dinâmico

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 3 min. de leitura
  • Defina uma hierarquia de categorias e permita que os usuários descrevam um registro usando um ou mais atributos.

    Principais benefícios

    • Organize e defina metadados em um esquema flexível em vez de adicionar novas colunas a uma tabela.
    • Capture dados dinamicamente usando diferentes atributos por registro.
    • Defina uma estrutura estruturada de categorias dinâmicas e atributos dinâmicos.
    • Defina categorias dinâmicas e atributos dinâmicos uma vez e reutilize-os em várias tabelas usando namespaces dinâmicos.

    Elementos de esquema dinâmico

    O esquema dinâmico é composto pelos seguintes elementos.

    Atributos dinâmicos
    Pares nome-valor que descrevem um registro. Você pode definir formalmente atributos dinâmicos ou criá-los dinamicamente como atributos transitórios em um campo de armazenamento de atributos dinâmicos.
    Categorias dinâmicas
    Contêineres para organizar atributos dinâmicos. Uma categoria dinâmica pode herdar atributos dinâmicos de sua categoria primária.
    Armazenamento dinâmico de atributos
    Um tipo de campo para armazenar um ou mais atributos dinâmicos e seus valores. Quando você cria um campo de armazenamento dinâmico, um namespace dinâmico é criado e associado automaticamente a esse campo de armazenamento.

    Depois de criar um campo de armazenamento, você pode começar a armazenar valores para atributos sem defini-los ou especificar definições de atributo no namespace dinâmico para aproveitar a funcionalidade adicional.

    Namespace dinâmico
    Uma coleção com escopo de atributos dinâmicos e categorias dinâmicas. Cada campo de armazenamento de atributos dinâmicos recebe automaticamente seu próprio namespace dinâmico ou você pode configurar vários campos de armazenamento de atributos dinâmicos que compartilham um namespace dinâmico.

    Opções de implementação

    Você tem flexibilidade ao decidir como implementar o esquema dinâmico.

    • Você pode adicionar atributos diretamente a um campo de armazenamento de atributos dinâmicos sem criar definições formais primeiro. Esses atributos são considerados transitórios e são tratados como tendo valores de cadeia de caracteres em scripts e consultas. Você pode fornecer uma definição para o atributo e modificar seu tipo a qualquer momento. Modificar o tipo de um atributo não afeta os dados armazenados, mas muda a forma como o sistema interage com esses dados. Consulte Trabalhar com atributos transientemente.
    • Você pode aproveitar o suporte adicional à plataforma e reutilizar atributos definindo-os em um namespace dinâmico. A definição de um registro de atributo dinâmico permite especificar seu tipo, definir opções de escolha, organizá-lo em categorias dinâmicas e muito mais. Consulte Trabalhar com Esquema dinâmico.
    • Você pode criar um namespace dinâmico independentemente. Você pode adicionar atributos dinâmicos e categorias dinâmicas a esse namespace e, em seguida, associar esse namespace a um ou mais campos de armazenamento de atributos dinâmicos. Isso permite que você reutilize atributos em vários campos de armazenamento. Consulte Crie um namespace dinâmico.

    Casos de uso

    • Capture pares atributo-valor que descrevem produtos vendidos em uma grande loja de departamentos definindo um esquema dinâmico para seus produtos. Armazene os atributos e seus dados em um campo de armazenamento de atributos dinâmicos.

      Por exemplo, suponha que você tenha uma tabela de produtos personalizada que armazena registros de diferentes tipos de produtos, como televisores, protetores solares, travesseiros e camisas. Você pode criar atributos dinâmicos para cada tipo de produto (como tipo de tela, UPC, cor ou tamanho). Você pode organizar os atributos dinâmicos em categorias dinâmicas (como Eletrônicos, Saúde e beleza, Bens domésticos e Roupas). Os usuários podem adicionar registros à tabela Produtos e capturar atributos diferentes em cada registro de produto.

    • Descreva um registro capturando um ou mais atributos transientes, com valores armazenados como objetos de cadeia de caracteres em um campo de armazenamento de atributos dinâmicos. Você também pode capturar atributos transientes em um registro adicionando um campo de armazenamento de atributo dinâmico a uma tabela e preenchendo o campo com dados de cadeia de caracteres usando GlideRecord API.

    APIs

    O esquema dinâmico também fornece APIs globais que permitem acessar e gerenciar atributos dinâmicos em suas tabelas usando JavaScripts. A lista a seguir as APIs e os métodos compatíveis com atributos dinâmicos.