O que são dados hierárquicos?

Dados hierárquicos são uma estrutura de dados em que os itens estão vinculados entre si por relacionamentos pai-filho em uma estrutura de árvore geral. Pense nos dados como uma árvore genealógica, com avós, pais, filhos e netos formando uma hierarquia de dados conectados. Normalmente, isso é usado para mostrar um organograma, um projeto com tarefas ou uma taxonomia de termos linguísticos.

Exemplo de dados hierárquicos

Em dados hierárquicos, cada um desses nós “filhos” tem apenas um “pai”, mas cada pai pode ter vários filhos. O primeiro nó, no topo da hierarquia, é chamado de nó-raiz. Quando as informações precisam ser recuperadas, toda a árvore é varrida do nó-raiz para baixo. Como toda a árvore precisa ser verificada cada vez que um usuário faz uma consulta, isso torna o sistema inflexível e lento. Os bancos de dados modernos evoluíram para incluir o uso de várias hierarquias para os mesmos dados, para uma pesquisa mais rápida e fácil.

Contudo, dados hierárquicos ainda são amplamente utilizados hoje. Um uso comum de uma estrutura de dados hierárquica é a informação de pessoal. Em uma estrutura de organograma, você tem o nó-raiz do CEO na parte superior com uma estrutura de pessoal abaixo.

Desenvolvido pela IBM na década de 1960, o modelo de dados hierárquico é um dos primeiros tipos de modelos. No entanto, ele foi rapidamente substituído por um modelo de dados relacional para superar alguns dos problemas estruturais significativos inerentes a esse modelo.

Por que a estrutura de dados é importante?

A estrutura dos dados de uma organização é de vital importância. Para que uma empresa possa inserir informações, processá-las, recuperá-las e mantê-las, a escolha do tipo de estrutura de dados é absolutamente vital. Imagine seu computador se não houvesse estrutura de pastas ou convenções de nomenclatura. A capacidade de encontrar ou usar qualquer coisa seria seriamente comprometida.

Em vez disso, em uma empresa, você encontrará pastas organizadas com nomes lógicos de departamentos. Nesses departamentos, as pastas podem ser organizadas por dados financeiros trimestrais ou outra forma lógica que se aplique a esse negócio. Então, dentro disso, os arquivos individuais são nomeados descritivamente, muitas vezes com datas ou versões gravadas em um formato específico. Estes são todos armazenados em ordem alfa. Isso significa que quando um funcionário precisa acessar um determinado arquivo, é uma tarefa incrivelmente simples pesquisar e encontrar o que precisa. De forma semelhante, uma boa estrutura de dados possibilita boas práticas de negócios, rápidas e eficientes.

Uma enorme limitação da ciência de dados em geral é que, embora o mundo seja fluido e 3D, os computadores o percebem como raso e imutável. Enquanto as pessoas sabem que existem 200 raças de cães e 200 variedades de cobras, um computador sabe que existem 400 itens. Uma estrutura de dados é vital para agrupar, acessar, processar e visualizar dados de uma forma que possa ser interpretada por computadores.

Descubra uma única solução para controlar, gerenciar e consumir todos os ativos de dados compartilhados
Descubra uma única solução para controlar, gerenciar e consumir todos os ativos de dados compartilhados
Evite silos com uma abordagem completa para gerenciar ativos de dados em toda a empresa.

Quando uma organização deve usar dados hierárquicos?

Atualmente, organizações como bancos e telecomunicações utilizam dados hierárquicos em suas aplicações. Isso ocorre porque eles exigem um desempenho rápido e altamente preciso. O Registro do Windows na maioria dos computadores também é um exemplo de estrutura de dados hierárquica. Projetos de manufatura complexos também costumam usar modelos de dados hierárquicos devido a grandes volumes de dados.

Os dados hierárquicos são melhor usados quando:

  • Os dados podem ser armazenados em um formato de “árvore” com uma estrutura pai e filho clara
  • Há uma necessidade de capturar a estrutura da hierarquia
  • Existem requisitos de alto volume de dados
  • Os sistemas existentes são muito complexos para migrar para um modelo relacional ou de rede

Alternativas aos dados hierárquicos

Dados relacionais

O modelo de dados mais comum é quando os dados são agrupados em relações. Uma coleção de variáveis é agrupada nas categorias verdadeiro, falso ou nulo. Em seguida, os itens de dados são agrupados com outros itens que compartilham variáveis e atributos. Os grupos estão ligados entre si por relações. Este grupo de itens é semelhante àquele grupo. Ao contrário dos dados hierárquicos que estão confinados por sua natureza "um para muitos", pode haver relacionamentos "muitos para muitos" em dados relacionais. Bancos de dados relacionais usam Structured Query Language (Linguagem de Consulta Estruturada - SQL), a linguagem de consulta padrão.

O modelo relacional é excelente para manter a consistência dos dados entre as instâncias. Por exemplo, se um cliente sacar dinheiro de um caixa eletrônico, essa alteração será refletida no saldo no aplicativo do telefone. Isso o torna excelente para garantir que várias instâncias de dados estejam corretas em uma variedade de sistemas.

Como ocorre em comparação com uma estrutura hierárquica, em vez de armazenar os dados em uma estrutura de árvore, ele os armazena em tabelas.

Modelo de rede

O modelo de rede, assim como o modelo de dados relacional, foi criado para resolver as deficiências inerentes aos modelos de banco de dados hierárquicos. Em um modelo de dados de rede, um filho pode ser vinculado a vários pais, embora os termos sejam proprietários e membros.

Esse modelo aceita uma variedade de relacionamentos e é muito mais fluido do que os modelos hierárquicos. No entanto, é muito mais complicado, tornando-o difícil de gerenciar e manter. Ainda não é tão flexível quanto os modelos de dados relacionais e nem todas as relações podem ser modeladas com precisão e vinculadas a proprietários e membros.

Vantagens das estruturas de dados hierárquicas

Os dados são facilmente recuperados

Como os links entre os nós de dados são tão bem definidos, é fácil encontrar e recuperar dados. Como o pai e os filhos são armazenados juntos, a navegação e a recuperação de dados também são rápidas.

Integridade referencial

A integridade dos dados é sempre mantida porque todas as alterações feitas na tabela pai são alteradas automaticamente na tabela filho.

Estrutura simples

A estrutura invertida do relacionamento pai-filho é imediata e facilmente compreendida. É conceitualmente simples, possui uma cadeia de comando clara dentro do banco de dados e, como resultado, oferece alto desempenho. Por causa da estrutura simples, também promove o compartilhamento de dados.

Boa segurança

A segurança do banco de dados é fornecida e imposta pelo sistema de gerenciamento de banco de dados. Ele é tão seguro que alguns desenvolvedores SQL dizem que você precisaria ser um mágico para recuperar os dados.

E-book de infraestrutura de dados unificada
Relatório O'Reilly: Construindo uma Infraestrutura de Dados Unificada
Apenas um terço das empresas evoluiu para organizações orientadas por dados. Qual é a solução? Descubra neste e-book!

Desafios das estruturas de dados hierárquicas

Inflexibilidade

O modelo é inflexível e rígido, e adicionar um nó ou relacionamento pode atrapalhar toda a estrutura. Se uma tabela pai e uma tabela filho não estiverem relacionadas, adicionar uma nova entrada na tabela filho será difícil porque os dados extras devem ser inseridos primeiro na tabela pai. Da mesma forma, é um desafio mover um filho de um nível para outro.

Adequado apenas para relacionamentos "um para muitos"

Quando um pai tem muitos filhos, esses relacionamentos são fáceis de mostrar. No entanto, quando existem relacionamentos "muitos para muitos", eles são mais difíceis de expressar. Qualquer coisa mais complexa do que relacionamentos pai-filho não tem suporte em dados hierárquicos. Os filhos não podem ser vinculados a outros pais, e não há capacidade de vincular filhos de pais diferentes.

Exclusões

Se um pai for excluído, todos os filhos (e além) também serão excluídos automaticamente. Imagine em seu computador desktop, se você excluir uma pasta, você exclui todos os arquivos dentro dela. Isso é semelhante a como um banco de dados hierárquico opera para exclusões.

Falta de padrões

Não há definição de dados ou linguagem de manipulação de dados específica. Em geral, o sistema conta com a rigidez para fazer cumprir os padrões, e isso nem sempre funciona.

Implementação complexa

A implementação de sistemas de dados hierárquicos requer compreensão das características de armazenamento de dados e conhecimento da estrutura organizacional. Isso o torna complicado e difícil de implementar em comparação com outros sistemas.

O futuro dos modelos de dados hierárquicos

Embora hoje ainda existam alguns modelos que são de natureza hierárquica, eles estão caindo em desuso. Seria incomum implementar um modelo de dados hierárquico em um novo sistema. Sua rigidez, dificuldade de implementação e enormes restrições os tornam antieconômicos e de difícil implementação.

Embora possam ser eficientes em termos de acesso aos dados, sua natureza restritiva os torna menos capazes de lidar com os desafios da enorme variedade de tipos e volumes de dados.

Como um dos primeiros modelos de dados, não se poderia prever que a natureza veloz da tecnologia o tornaria obsoleto; mas está acontecendo. O futuro está na flexibilidade, e essa é uma característica que os dados hierárquicos não podem dar. Redes e ecossistemas estão substituindo rapidamente as hierarquias por uma maneira mais orgânica de armazenar e acessar dados.