Projeto Lógico e Modelos de Dados: Hierárquico e Rede

Classificado em Computação

Escrito em em português com um tamanho de 4,33 KB

Projeto Lógico de Banco de Dados

O objetivo do projeto lógico é traduzir o projeto conceitual (que representa os requisitos) em um projeto lógico que pode ser implementado em um SGBD (Sistema Gerenciador de Banco de Dados).

Representações do Modelo Lógico

Existem várias representações para o modelo lógico do banco de dados, entre as quais:

  • Modelo Hierárquico
  • Modelo de Rede (Grade)
  • Modelo Relacional
  • Modelo Orientado a Objetos

Modelo Hierárquico

O desenvolvimento dos modelos hierárquicos ocorreu no conceito de BD (1960-1970). Um exemplo de BD hierárquico é o IBM IMS, desenvolvido no final dos anos 60.

Características e Histórico

  • Definição de independência, segurança, etc.
  • Definição da linguagem BD.
  • Em 1975, ocorreu a criação e o trabalho da comissão SPARC/BD (ANSI), definindo a Arquitetura de SGBD em 3 níveis (até 1980).
  • Desenvolvimento de sistemas hierárquicos e de rede avançada.

Estrutura e Relacionamentos

Em modelos hierárquicos, os elementos têm uma relação pai/filho, onde um filho tem apenas um pai, mas um pai pode ter vários filhos. Este modelo representa um conjunto de parcerias do tipo 1:1 e 1:M, ou seja, uma hierarquia de entidades (ou árvore).

Em uma hierarquia, o pai (proprietário do registro, 1) pode ter muitos filhos (registro subordinado, M), mas uma criança pode ter apenas um pai. A árvore formada pode ter vários níveis, o que significa que uma criança, em um certo nível, pode, por sua vez, ser o pai de outras crianças de nível inferior. No entanto, em todos os níveis, deve-se garantir que, enquanto cada pai pode ter vários filhos, cada criança pode ter apenas um pai.

Todos os relacionamentos de dados são baseados em hierarquias. Os arquivos são ligados entre si por ponteiros físicos (indicando o endereço físico onde um registro pode ser encontrado no disco) ou campos adicionados a registros individuais.

Limitações do Modelo Hierárquico

  • É difícil expressar relações em que uma criança se relaciona com muitos pais.
  • É fácil implementar mudanças e manter o banco de dados.
  • Uma limitação importante deste modelo é a existência de um único pai para cada entidade.
  • Nem todos os relacionamentos podem ser representados em uma estrutura hierárquica.

Essas limitações levaram ao desenvolvimento de sistemas de rede BD.

Modelo de Rede (Network Model)

O modelo de rede representa os dados como um conjunto (set) de tipos de registro e associações entre eles.

Características

  • É usado como uma estrutura de dados de grafo, de modo que um tipo de registro pode ter muitas associações com outros tipos de registros (1:1, 1:M e M:N).
  • É mais flexível do que o modelo hierárquico.
  • É uma extensão do modelo hierárquico, em que uma criança pode ter mais de um pai.
  • Este modelo é menos restritivo do que os sistemas hierárquicos e também utiliza indicadores físicos.

Desvantagens e Implementação

A desvantagem é que este tipo de estrutura de dados começa a tomar a aparência de "teia de aranha", com ponteiros que vão em todas as direções.

No início dos anos 70, vários DBMS de rede foram desenvolvidos e comercializados. Este modelo de dados foi normalizado, como exemplificado pelo modelo BD CODASYL. Exemplos de SGBDs de Rede são: ADABAS, TOTAL e IMAGENS.

Representação de Relacionamentos M:N

No modelo de rede, é possível representar relacionamentos M:N. Isso requer transformá-los em duas associações em conjunto, através de um tipo de registro chamado Nó de Cruzamento (Intersection Record).

Isso simplifica os problemas de inserção, exclusão e modificação do banco de dados propostos no modelo hierárquico, eliminando a redundância gerada.

Deve-se ter cuidado ao excluir registros envolvidos em associações M:N, pois é possível criar inconsistências se os registros do Nó de Cruzamento envolvidos não forem excluídos.

Entradas relacionadas: