Definição
“O modelo de redes difere do modelo relacional, ao representar os dados através de coleções de registros e os relacionamentos entre os dados através de ligações.” (KORTH, Henry F.; SILBERSCHATZ, Abraham. Sistema de Banco de Dados. São Paulo: McGraw-Hill,1989.)
No modelo em rede, padronizado pelo CODASYL(Conference on Data Systems Languages) DBTG(Data Base Task Group), apenas ligações um-para-um e um-para-muitos podem ser usadas. As ligações muitos-para-muitos são representadas através de duas ou mais ligações um-para-muitos. Uma relação um-para-muitos é representada por um DBTG-set entre dois tipos de registros, o registro owner e o registro member. Nessa relação o registro owner possui um ponteiro para o primeiro registro member da relação, que por sua vez aponta para o próximo registro member até chegar no registro owner novamente. Cada registro member possui um ponteiro para o próximo member e outro para o registro owner.
Operações
Inserção
A inserção de um registro do tipo owner em um DBTG-set é simples, basta adicioná-lo ao banco. No caso dos registros do tipo member, primeiro aponta-se os ponteiros de next e owner do registro para o endereço do registro owner do set, em seguida modifica-se o último registro do set para apontar para o novo registro.
Busca
A busca de um registro é feita sequencialmente comparando valores até encontrar o(s) registro(s) que tenha(m) o valor igual ao buscado. Quando a busca é feita em um set, primeiro encontra-se o registro owner, em seguida percorre a partir do primeiro registro do set encontrando o(s) registro(s) buscado(s) até chegar novamente no registro owner.
Deleção
Na deleção uma busca é feita uma busca para encontrar o registro, então considerando-se o registro do tipo member, modifica-se o registro anterior, para apontar para o próximo do registro a ser eliminado e então apaga-se o registro. Em se tratando do registro do tipo owner, todos os registros do set precisam ser eliminados.
Modificação
A operação de modificação é feita em dois passos. Primeiro busca-se o registro em disco e carrega em memória. Em seguida modifica-se no registro, o(s) campo(s) desejado(s) no registro e salva novamente em disco.
Ordenação
A ordenação é feita usando um algoritmo de ordenação conhecido, com por exemplo o merge-sort. Como um set é uma lista ligada de registros, então não é possível acessar registros diretamente, então para chegar a um determinado registro é preciso percorrer os registros anteriores até chegar ao registro. A operação de ordenação não move os registros, apenas modifica os ponteiros para que a lista fique ordenada.
Outra forma é sempre manter o set ordenado, inserindo sempre em ordem. Mas para inserir em ordem tem um custo linear, pois para cada inserção será necessário percorrer todo o set até encontrar a posição correta. Com essa alternativa, o desempenho da inserção decai quanto maior for o set.
Vantagens do modelo
As buscas são realizadas de forma rápida usando os ponteiros entre os registros, dessa forma diminui a quantidade de comparações a serem feitas durante a operação.
Desvantagens do modelo
O modelo relacional possui a linguagem SQL para o gerenciamento dos dados que é simples e amplamente utilizada. Já no modelo de rede, para gerenciar os dados é necessário ter um conhecimento mais profundo sobre a estrutura de dados do modelo para poder realizar operações como inserção, busca e etc. E pelo fato de não ser muito conhecido, a adaptação de gerenciadores de bancos de dados que utilizam o banco de dados relacional não é muito simples.
Bibliografia
FURTADO, A. L.;SANTOS, C. S. Organização de banco de dados. 7ªed. Rio de Janeiro: Campus, 1979. 281 p.
KORTH, H. F.; SILBERSCHATZ, A. Sistema de banco de dados. São Paulo: McGraw-Hill, 1989. 582 p.
VASTA, J. A. Understanding database management systems. 2ªed. Belmont: Wadsworth, 1989. 518 p.