Aliases de armazenamento
Saiba mais sobre a função que os aliases de armazenamento desempenham na manipulação de dados e na criação de campos no Now Platform.
Compreender os aliases de armazenamento é importante para uma gestão de dados eficaz e personalização de esquema no Now Platform, especialmente ao lidar com hierarquias de tabela complexas, como as da tabela Tarefa [task].
Por padrão, os administradores têm acesso à tabela Aliases de 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 realizados por um administrador na interface do usuário.
Hierarquia e modelos de tabela
Compreender o aliasing de armazenamento requer conhecimento das hierarquias de tabela na tabela Tarefa [task], 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 [task], que apresenta uma hierarquia nivelada 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 [change_request] separada, mas são integrados à tabela Tarefa [task]. Você pode verificar se uma tabela é Tabela por hierarquia verificando o campo do 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 sua tabela primária. 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. Tabelas legadas, como a tabela Incidente [incident], a tabela Solicitação de mudança [change_request] e a tabela Problema [problem] fazem parte da hierarquia da tabela Tarefa [task] nivelada.
- Tabela por classe
- Este modelo se aplica a tabelas que existem fisicamente no banco de dados. É usado para novas tabelas que se estendem diretamente da tabela Tarefa [task] quando a contagem de linhas de tarefa excede 1 milhão de linhas. Ao contrário da Tabela por hierarquia, a Tabela por classe não usa o efeito de ocultação porque não opera em uma hierarquia nivelada.
Definição de alias de armazenamento
Um alias de armazenamento é criado para cada campo em uma tabela em uma instância. Familiarize-se com os campos de chave na tabela Aliases de coluna de armazenamento [sys_storage_alias].
- Nome de Elemento
- Indica como o campo aparece para os usuários, o que é importante para interações de interface do usuário e scripts.
- Alias de armazenamento
- Indica a coluna física exata em que os dados de um campo sã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 Tabela por tabelas de hierarquia, o valor é sempre tarefa. Para Tabela por tabelas de classe, o valor é o nome da tabela física.
- Tabela
- Especifica a classe lógica à qual cada elemento está vinculado na tabela Tarefa física [task]. O elemento Table contém o valor table_name, que é o discriminador de classe.
Neste exemplo, o alias de armazenamento do elemento cab_delegate é a_ref_2 e a tabela de armazenamento físico em que os dados são armazenados é task. O exemplo descreve 10 elementos lógicos em diferentes classes lógicas na Tarefa [tabela] que estão vinculados ao mesmo alias a_ref_2 na tabela Tarefa física [task].
Os elementos irmãos são agrupados, 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.
Funcionalidade e uso
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 agrupado em uma coluna física maior que o 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, aprimorando a visibilidade em formulários, relatórios e exibições de lista.
Restrições e regras
- 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 Incident [incident] não pode ser mapeado para uma coluna física quando essa coluna física já está mapeada para um campo na tabela Tarefa [task].
- Somente elementos irmãos 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.
- Campos criados diretamente na tabela Tarefa [task] (em que sys_class_name é 'task') não podem ser mascarados.