O modelo de dados hierárquico foi o primeiro modelo de banco de dados criado, aparecendo primeiro em 1966. Foi melhoria em sistemas de processamento de arquivos gerais porque permite criação de relacionamentos lógicos entre informações em banco de dados. Porém, esta estrutura também tem desvantagens que levaram ao desenvolvimento eventual do modelo de rede e modelo relacional.
Principal característica do modelo hierárquico é estrutura em árvore. Exemplo: banco de dados de empresa pode organizar com ramo para Funcionários, seguido por Departamentos, Equipes e Membros de Equipe. Esta estrutura pai-filho é consistente no banco, e cada segmento filho pode ter apenas um segmento pai. Cada segmento, ou registro, pode ter qualquer número de elementos de campo dando informação sobre aquele registro. Exemplo: registro de membro teria detalhes como nome, supervisor e contatos.
Como modelos hierárquicos não permitem registros compostos — ou seja, entrada ter mais de um pai — banco tem estrutura um-para-muitos; uma empresa pode ter muitos departamentos, e um departamento muitos líderes. Isso pode levar a redundância. Exemplo: ramo abaixo de Membros pode ser Projetos em Andamento. Como múltiplos funcionários podem trabalhar em um projeto, informação do projeto deve ser duplicada, possivelmente causando problemas de consistência.
Modelo hierárquico é modelo de dados navegacional; caminhos de acesso no modelo são limitados por estruturas predeterminadas. Para obter registro específico, consulta move do segmento raiz no banco através dos ramos. Isso é bom se já sabe localização dos registros, mas se faz consultas exploratórias, é lento, pois banco deve ler todos registros de um nível antes de ir ao próximo.
Limitações da estrutura hierárquica são amenizadas usando ponteiros para pai lógico. Desenvolvido pela IBM no modelo Information Management System, isso envolve configurar novo banco para entradas com relacionamentos muitos-para-muitos e vincular os dois. Exemplo: ramo Projetos em Andamento teria ponteiros ligando usuário a banco de Projetos separado onde informação de projetos está contida. Similar a como função IDREF do XML funciona.
Tecnologia Eletrônica © [www.351231.com]