Modelo hierárquico de banco de dados
Uma base de dados hierárquica é um tipo de sistema de gerenciamento de banco de dados que conecta registros numa estrutura de dados em árvore através de ligações de tal modo que cada tipo de registro tenha apenas um possuidor. A base de dados se baseia em um Modelo de Entidades e Relacionamentos: cada registro é uma coleção de atributos (campos), cada um dos quais contendo somente uma informação; uma ligação é a associação entre dois registros. Por exemplo: em uma dada base de dados comercial, uma encomenda (i.e. registro) é possuída por um único cliente.
História
[editar | editar código-fonte]O modelo de dados hierárquico perdeu tração quando o modelo relacional de Codd tornou-se o padrão de fato utilizado por praticamente todos os principais sistemas de gestão de banco de dados. Uma implementação de banco de dados relacional de um modelo hierárquico foi discutida pela primeira vez no formulário publicado em 1992[1]
Uso
[editar | editar código-fonte]As estruturas hierárquicas foram muito usadas nos primeiros sistemas de gestão de bases de dados mainframe. No entanto, devido às suas restrições, é freqüente que não possam ser usados para relacionar estruturas que existem no mundo real. As relações hierárquicas entre diferentes tipos de dados podem tornar muito fácil a resposta a algumas questões, mas muito difícil a resposta a outras. Se a relação um-para-muitos for violada (por exemplo, um paciente pode ter mais do que um médico) a hierarquia transforma-se numa rede.
Organização
[editar | editar código-fonte]Os registros são organizados como árvores com raiz. Cada árvore tem uma raiz, que é um pseudonó (cada nó é um registro, mas a raiz tem apenas a função de ser uma origem comum). Cada árvore com raiz é referida como uma árvore de base de dados; a base de dados hierárquica é uma coleção de árvores da base de dados (que formam uma floresta). Para ser mais preciso sobre o que significa uma árvore com raiz:
1. Não podem existir ciclos entre os nós (registros);
2. Ligações formadas na árvore devem ser tais que somente retratem relações um-para-um ou um-para-muitos entre um pai e um filho.
Assim, o conteúdo de um registro particular pode ter que ser replicado em vários locais diferentes. A réplica de registro possui duas grandes desvantagens: pode causar inconsistência de dados quando houver atualização, e o desperdício de espaço é inevitável.
Usa-se um diagrama de estrutura de árvore para apresentar o esquema para uma base de dados hierárquica. Consiste de dois componentes básicos: caixas (que correspondem ao tipo registro) e linhas (que correspondem às ligações). Seu propósito é especificar a estrutura lógica geral da base de dados.
Exemplos do Mercado
[editar | editar código-fonte]- Adabas (essas considerações são controversas)
- GT.M
- IMS
- Caché (essa consideração é controversa)
- Metakit
- Multidimensional hierarchical toolkit
- Mumps compiler
- ↑ Michael J. Kamfonas/Recursive Hierarchies: The Relational Taboo! Arquivado em 8 de novembro de 2008, no Wayback Machine.--The Relation Journal, October/November 1952