Hoje vamos entender um pouco sobre um conceito bem legal que é o de Banco de Dados ADABAS, você conhece?
Adabas é um Sistema Gerenciador de Banco de Dados – SGBD, produzido pela Software AG, sua primeira versão surgiu na década de 70, sendo considerado por alguns um dos primeiros SGBD´s comerciais, quando surgiu funcionava em mainframes da IBM.
Diferente de um banco de dados relacional ele usa o conceito de listas invertidas, sendo classificado como um banco de dados hierárquico por alguns autores e às vezes como um banco de dados em rede. A diferença desses dois tipos de SGBD é bastante sútil, no banco hierárquico você tem o conceito de nós pais-filhos como em uma árvore genealógica e no banco em rede um nó pode ter vários pais. Veja essa diferença nas Figuras 1 e Figura 2
Figura 1 – Modelo Hierárquico
Figura 2 – Modelo em Rede
Essa classificação nem sempre é precisa, assim como acontece com outros SGBD’s de mercado quando as características dos modelos são incorporadas simultaneamente, por exemplo o SGBD PostgreSQL que é um banco Objeto-Relacional. Para fins didáticos vamos dizer que o Adabas é um banco hierárquico mas a sua principal característica é o uso de lista invertida, esse conceito é a mais popular estratégia de sistemas de busca, usada em serviços como o Google.
Realizar pesquisa de um termo em uma lista tradicional ou em um campo de uma tabela relacional pode exigir muito tempo devido a busca sequêncial, com uma lista invertida estrutura do Adabas pode se avançar diretamente ao termo procurado. Por isso, o uso deste recurso permite que os resultados sejam obtidos de forma consideravelmente mais rápida, a diferença de tempo de resposta tende a aumentar quanto maior for o arquivo ou lista pesquisada. [1]
Veja a diferença no exemplo abaixo [1], primeiro um exemplo de Lista normal com chave e valor, e logo abaixo a lista invertida mapeando as ocorrências pelos registros.
Lista Normal:
1: "Sei que sou" 2: "Sou o que sei" 3: "Sou uma banana"
Obtemos a seguinte lista invertida:
"sei" : {1, 2}
"que" : {1, 2}
"sou" : {1, 2, 3}
"o" : {2}
"uma" : {3}
"banana" : {3}
Além desse conceito chave o Adabas possui uma estrutura próxima de um modelo relacional
mas com algumas diferenças básicas, como[3]:
- Arquivos, e não tabelas, como as principais unidades de organização;
- Registros, e não células, como menores unidades de organização;
- Campos, e não colunas, como componentes de uma unidade;
- Não baseado no sistema SQL, precisando de um mecanismo de busca externo.
Também possui mecanismos muito comum para conexão com outros SGBDs que é o uso de ODBC, esse banco é muito utilizado em conjunto com a linguagem Natural [2] também desenvolvida pela mesma empresa, é uma linguagem de programação de alto nível, sendo uma linguagem estruturada, mas informações você pode consultar nas referências desse artigo.
Vamos então ver duas questões sobre esse banco de dados, o gabarito está no final do artigo.
Questão 1 – Ano: 2015 Banca: CESPE / CEBRASPE Órgão: TCE-RN Prova: CESPE – 2015 – TCE-RN – Inspetor – Tecnologia da Informação – Cargo 5
No que se refere a tecnologia e arquitetura de banco de dados, julgue o próximo item.
O ADABAS é um sistema gerenciador de bancos de dados que utiliza lista invertida, possui recurso de replicação para ADABAS e RDBMS (relational database management system) e fornece SQL padrão para acesso a aplicação externa ou ferramenta de business intelligence.
Certo
Errado
Questão 2 – Ano: 2009 Banca: CESPE / CEBRASPE Órgão: INMETRO Prova: CESPE – 2009 – INMETRO – Analista Executivo em Metrologia e Qualidade – Desenvolvimento de Sistemas – Parte II
Adabas e Natural podem ser componentes de um ambiente de desenvolvimento de aplicações em que o primeiro é um SGBD transacional que suporta modelo de dados com construções próximas às do modelo relacional, enquanto o segundo é uma linguagem de programação de alto nível com uma linguagem embutida de acesso a banco de dados.
Certo
Errado
As questões são auto-explicativas e trazem mais algumas características desse banco de dados.
Dessa forma encerro esse artigo com essa breve introdução sobre o assunto! E o gabarito está logo abaixo. Até mais!
GABARITO
- CERTO
- CERTO
OBS: Normalmente não uso a Wikipédia como referência já que não se trata de informação científica confiável, mas nesse caso o exemplo de lista invertida que tem lá é muito simples.
Referências
[1] https://pt.wikipedia.org/wiki/Listas_invertidas
[2] https://adabasmainframe.blogspot.com/2018/04/programando-natural-1-parte.html
[3] https://naturaladabas.wordpress.com/about/
Professor MSc, Washington Almeida
Doutorando e Mestre em Engenharia de Software pelo Centro de Estudos e Sistemas Avançados do Recife – C.E.S.A.R. Atualmente é Analista Judiciário na Justiça Federal (TRF1), Professor de vários cursos no Mercado e no Gran Cursos Online. É certificado ISF 27002.