Aliases de armazenamento

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 4 min. de leitura
  • Saiba mais sobre a função que os aliases de armazenamento desempenham na manipulação de dados e na criação de campos no ServiceNow AI Platform.

    Entender os aliases de armazenamento é importante para o gerenciamento eficaz de dados e a personalização de esquema no ServiceNow AI Platform, Particularmente ao lidar com hierarquias de tabela complexas, como as da tabela Tarefa [task].

    Por padrão, os administradores têm acesso à tabela Aliases da coluna de armazenamento [sys_storage_alias] em uma instância. No entanto, os processos transacionais em relação a esta tabela não podem ser executados por um administrador na interface do usuário.

    Modelos e hierarquia de tabela

    A compreensão do alias de armazenamento requer conhecimento das hierarquias de tabela na tabela Tarefa [tarefa], que envolve dois modelos: Tabela por hierarquia e Tabela por classe.

    Tabela por hierarquia
    Este modelo usa uma única tabela física, a tabela Tarefa [tarefa], que apresenta uma hierarquia planificada em que todas as colunas na hierarquia de tarefas existem somente na tabela de tarefas. Por exemplo, os campos relacionados a solicitações de mudança não estão em uma tabela Solicitação de mudança separada [change_request], mas estão integrados à tabela Tarefa [task]. Você pode verificar se uma tabela é Tabela por hierarquia verificando o campo Modelo de extensão na tabela Tabelas [sys_db_object]. Se o primário da tabela for um secundário direto da tabela Tarefa [task], a tabela usará Tabela por hierarquia.

    Uma tabela estendida herda a hierarquia de seu pai. Por exemplo, a tabela IMAC [change_request_imac] é uma tabela secundária da tabela Solicitação de mudança [change_request], que estende a tabela Tarefa [task]. Como a tabela Solicitação de mudança [change_request] é Tabela por hierarquia, o modelo de tabela IMAC [change_request_imac] também é Tabela por hierarquia. As tabelas legadas, como a tabela Incidente [incidente], a tabela Solicitação de mudança [change_request] e a tabela Problema [problema], fazem parte da hierarquia da tabela Tarefa [tarefa] planificada.

    Tabela por classe
    Este modelo se aplica a tabelas que existem fisicamente no banco de dados. Ele é usado para novas tabelas que se estendem diretamente da tabela Tarefa [task] quando a contagem de linhas da tarefa excede 1 milhão de linhas. Ao contrário da Tabela por hierarquia, a Tabela por classe não usa glomming porque não opera em uma hierarquia planificada.

    Definição do alias de armazenamento

    Um alias de armazenamento é criado para cada campo em uma tabela em uma instância. Familiarize-se com os campos-chave na tabela Aliases da coluna de armazenamento [sys_storage_alias].

    Nome de Elemento
    Indica como o campo aparece para os usuários, o que é importante para interações e scripts da interface do usuário.
    Alias de Armazenamento
    Indica a coluna física exata em que os dados de um campo estão armazenados. O valor do alias de armazenamento é usado em combinação com o valor table_name para identificar quais dados manipular. O valor do alias de armazenamento é a coluna física real na tabela Tarefa [task].
    Nome da tabela de armazenamento
    Especifica a tabela física que hospeda o elemento. Para tabelas Tabela por hierarquia, o valor é sempre tarefa. Para tabelas Tabela por classe, o valor é o nome da tabela física.
    Tabela
    Especifica a classe lógica à qual cada elemento se vincula na tabela Tarefa física [task]. O elemento Tabela contém o valor table_name que é o discriminador de classe.
    Figura 1. Aliases da coluna de armazenamento
    Elementos com alias de armazenamento a_ref_2 na tabela Tarefa.

    Neste exemplo, o alias de armazenamento para o elemento cab_delegate é a_ref_2 e a tabela de armazenamento físico em que os dados são armazenados é tarefa. O exemplo descreve 10 elementos lógicos em diferentes classes lógicas na Tarefa [tabela] que são vinculados ao mesmo alias a_ref_2 na tabela Tarefa física [tarefa].

    Os elementos irmãos são glommed, o que significa que eles compartilham uma coluna física na tabela Tarefa [task]. Você pode consultar dados do elemento lógico cab_delegate usando uma consulta como:

    SELECT a_ref_2 from task WHERE sys_class_name='change_request' AND a_ref_2 IS NOT NULL

    A consulta especifica dados na coluna física a_ref_2. O discriminador de classe change_request é usado em combinação com o alias de armazenamento a_ref_2 para consultar o elemento lógico cab_delegate da classe lógica change_request na tabela Tarefa física [task].

    A convenção de nomenclatura para campos criados nas tabelas físicas reais pode variar dependendo do tipo de campo. Neste exemplo, a_ref_2 é um alias na tabela Tarefa [task] que contém valores para campos de referência.

    Uso e funcionalidade

    Os aliases de armazenamento atendem a várias finalidades.

    Mapeamento
    Os aliases mapeiam elementos lógicos (Tabela por hierarquia) ou elementos físicos (Tabela por classe) para as colunas físicas reais no banco de dados de back-end. O elemento lógico pode ser transformado em uma coluna física maior que max_length do elemento lógico.
    Glomming
    Os aliases permitem que vários elementos irmãos compartilhem uma única coluna física em uma tabela por modelo de hierarquia.
    Mapeamento de rótulo
    Os aliases associam registros sys_documentation (rótulo) aos respectivos elementos, melhorando a visibilidade em formulários, relatórios e exibições de lista.

    Regras e restrições

    • Dois elementos lógicos na mesma classe não podem compartilhar uma coluna física. Por exemplo, dois campos de cadeia de caracteres criados na tabela Incidente [incidente] não podem ser mapeados para a mesma coluna física no banco de dados.
    • Um elemento primário e seu secundário não podem compartilhar uma coluna física. Por exemplo, um campo criado na tabela Incidente [incidente] não pode ser mapeado para uma coluna física quando essa coluna física já está mapeada para um campo na tabela Tarefa [tarefa].
    • Apenas elementos semelhantes podem compartilhar uma coluna física. Por exemplo, um campo de referência na tabela Solicitação de mudança [change_request] e um campo de referência na tabela Incidente [incidente] e podem ser mapeados para a mesma coluna física.
    • Os campos criados diretamente na tabela Tarefa [task] (em que sys_class_name é "task") não podem ser glommed.