Modelo Hierárquico Sarajane Marques Peres Introdução • No modelo de rede, os dados são representados por uma coleção de registros e os relacionamentos entre dados são representados por meio de links. • Esta também é a estrutura do modelo hierárquico, com a diferença que, neste modelo, os registros são organizados como coleções de árvores em vez de gráficos arbitrários. Conceitos Básicos • Um banco de dados hierárquico é uma coleção de registros conectados uns aos outros por meio de links. • Um registro é similar a um registro no modelo de rede. Cada registro é uma coleção de campos (atributos), cada qual contendo somente um valor. • Um link é uma associação entre exatamente dois registros. Exemplo Observe que o conjunto de todos os registros de clientes e de contas são organizados na forma de uma árvore com raiz, em que a raiz da árvore é um registro falso. A necessidade de representar contas conjuntos levará à duplicação de registros, devido à representação em árvore. Diagrama de Estrutura de Árvore • Um diagrama de estrutura de árvore é o esquema para um banco de dados hierárquico. • Consiste de dois componentes básicos: – Caixas: que correspondem aos tipos de registro; – Linhas: que correspondem aos links. • Ele tem a mesma utilidade que um diagrama E-R, ou seja, especifica toda a estrutura lógica de um banco de dados. • Ele é semelhante ao digrama de estrutura de dados do modelo de rede, com a seguinte diferença: – Os tipos de registros são organizados como uma árvore. Diagrama de Estrutura de Árvore Note que neste modelo, os filhos devem ter ligações com os pais e os pais podem ter ligações com filhos. As cardinalidades dos relacionamentos estão expressas nos links. Exemplo de mapeamentos: E-R Hierárquico Exemplo de mapeamentos: E-R Hierárquico Instância Exemplo de mapeamentos: E-R Hierárquico Instancia Exemplo de mapeamentos: E-R Hierárquico Instância Exemplo de mapeamentos: E-R Hierárquico O acesso aos dados • Muito similar à forma de acesso aos dados do modelo rede. • Principais diferenças: – No modelo rede temos os comandos FIND e GET. No modelo hierárquico temos apenas o comando GET (assumindo as funções de encontrar e obter o registro). – Tem-se o comando WHERE. Técnicas de implementação • O registro virtual A replicação de registros apresenta duas desvantagens principais: • Podem resultar em dados inconsistentes quando ocorrer uma atualização; • O desperdício de espaço é inevitável A solução é introduzir o conceito de registro virtual. Esse tipo de registro não contém dados, mas contém um ponteiro lógico para um registro físico em particular. Quando um registro é replicado em diversas árvores do banco de dados, mantém-se uma única cópia desse registro em uma das árvores e troca-se todos os outros registros por um registro virtual contendo um ponteiro para aquele registro físico. Exemplos Implementações das árvores O Sistema de Banco de Dados IMS • O modelo hierárquico é significativo principalmente devido à importância do sistema de banco de dados IMS da IBM. • O IMS (Information Management System) é um dos mais antigos e mais amplamente utilizados sistema de bancos de dados. • Os desenvolvedores deste sistema estão entre os primeiros a tratarem características como concorrência, recuperação, integridade e processamento eficiente de consultas. Discussão • Este modelo sofre dos mesmos problemas do modelo de rede: – Complexidade dos diagramas de estrutura de árvore (de dados no caso de modelo de rede); – Restrições à cardinalidade dos links; – Ausência de facilidades de consultas declarativas; – Necessidade de navegação por ponteiros para acesso à informações; – Consultas complexas.