Ir para conteúdo principal Pular para conteúdo complementar

Carregando dados da hierarquia

Hierarquias irregulares com níveis n geralmente são usadas para representar dimensões geográficas ou organizacionais em dados, entre outras coisas.

Estes tipos de hierarquias são geralmente armazenados em uma tabela de nós adjacentes, isto é, em uma tabela na qual cada registro corresponde a um nó e tem um campo que contém uma referência ao nó pai.

Tabela de nós
NodeIDParentNodeIDTítulo
1-Gerente geral
21Gerente regional
32Gerente de sucursal
43Gerente de departamento

Em uma tabela como essa, o nó é armazenado em apenas um registro, mas ainda pode ter um número indefinido de filhos. A tabela pode conter campos adicionais que descrevem atributos para os nós.

Uma tabela de nós adjacentes é fácil de manter, mas difícil de usar em trabalhos do dia-a-dia. Em vez disso, em consultas e análises, outras representações são usadas. A tabela de nós expandidos é uma representação comum, na qual cada nível da hierarquia é armazenado em um campo separado. Os níveis de uma tabela de nós expandidos podem ser facilmente utilizados, por exemplo, em uma estrutura de árvore. A palavra-chave hierarchy pode ser usada no script de carregamento de dados para transformar uma tabela de nós adjacentes em uma tabela de nós expandidos.

Exemplo:  

Hierarchy (NodeID, ParentNodeID, Title, 'Manager') LOAD NodeID, ParentNodeID, Title FROM 'lib://data/hierarchy.txt' (txt, codepage is 1252, embedded labels, delimiter is ',', msq);
Tabela de nós expandidos
NodeIDParentNodeIDTítuloTítulo1Título2Título4Título4
1-Gerente geralGerente geral---
21Gerente regionalGerente geralGerente regional--
32Gerente de sucursalGerente geralGerente regionalGerente de sucursal-
43Gerente de departamentoGerente geralGerente regionalGerente de sucursalGerente de departamento

Um dos problemas da tabela de nós expandidos é que não é fácil usar os campos de nível para realizar pesquisas ou seleções, já que é necessário ter um conhecimento prévio sobre o nível que se deseja pesquisar ou selecionar. A tabela de ancestrais é uma representação diferente que resolve esse problema. Essa representação também é chamada de tabela de ponte.

A tabela de ancestrais contém um registro para cada relação filho-ancestral encontrada nos dados. Ela contém as chaves e os nomes dos filhos e dos ancestrais. Ou seja, cada registro descreve a qual nó um nó específico pertence. A palavra-chave hierarchybelongsto pode ser usada no script de carga de dados para transformar uma tabela de nós adjacentes em uma tabela de ancestrais.

Saiba mais

 

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!