Você está na página 1de 10

Bancos de Dados ADABAS-C (SGBD Adaptável) – Fundamentos [Página 1 de 10]

Características

Eficiência Não precisa dar STOP para manutenção


Desempenho “Performático” com dados compactados
Tecnologia Avançada Monta tabelas em tempo de execução
Recuperação de Textos Guarda últimas operações processadas
Portabilidade Mainframe, Unix
Capacidade de Rede Multi-usuário
Fácil Uso

Instalação Centralizada (redução da manutenção)

Redução de redundâncias
Aumento de flexibilidade
Melhoria da eficiência

Independência de dados (em relação aos programas)

Visões (VIEWS)
Visões lógicas de arquivos físicos (subconjuntos)

Visão Interna (ADABAS FDT NATURAL DDM)


O SGBD vê os dados como estão armazenados fisicamente

Visão Externa (NATURAL DDM NATURAL VIEW)


O programa vê os dados conforme definição da aplicação

Atividades
Atividades do DBA

Criação e manutenção do Banco de Dados

Incluir novos campos ou excluir campos (raro);


Alterar o tamanho e/ou tipo de um campo;
Tornar ou revogar campos descritores;
Compressão / Carregar arquivos;
Descarregar arquivos / Descompressão;
Reorganizar e Salvar arquivos;
Renomear ou renumerar arquivos;
Eliminar / restaurar arquivos.

SGBD ADABAS

Base para Arquitetura Integrada de Software (ISA) da Software AG.


Cada Base de Dados possui identificação única (DBID).
Pode haver mais de uma por unidade de disco (não recomendado).
Execuções “batch” e “on-line” podem acontecer ao mesmo tempo (não
recomendado).

Mansueto G Almeida
Análise, Projeto e Desenvolvimento de Sistemas. Modelagem de Dados e Processos. Bancos de Dados.
Conversão entre Ambientes/Sistemas Operacionais. Programação Estruturada e Orientação a Objetos.
Bancos de Dados ADABAS-C (SGBD Adaptável) – Fundamentos [Página 2 de 10]

ADABAS Users
Utilities Programs

ADABAS Núcleo

Work Data
Buffer Threads Protection
Pool Area
Transações Transações

Associator Work

Data Storage

Extensão Física

Núcleo
Carregado na memória quando o ADABAS é iniciado.
Qualquer transação passa pelo núcleo (solicitação / retorno).

Buffer Pool (4 Mb por usuário)


Armazena blocos (conjunto de registros) de ASSO e DATA para reduzir I/O.
Quando preenchido, um algoritmo determina o bloco mais antigo a ser
sobrescrito.
Programas que acessam paralela ou simultaneamente os mesmos registros,
usam blocos de dados idênticos carregados uma única vez na memória.
Blocos alterados e residentes na memória são repassados para ASSO e
DATA em intervalos regulares (buffer flush) garantindo as alterações
(transações encerradas ou não vão para WORK).

Mansueto G Almeida
Análise, Projeto e Desenvolvimento de Sistemas. Modelagem de Dados e Processos. Bancos de Dados.
Conversão entre Ambientes/Sistemas Operacionais. Programação Estruturada e Orientação a Objetos.
Bancos de Dados ADABAS-C (SGBD Adaptável) – Fundamentos [Página 3 de 10]

Em caso de erro, ao iniciar o banco, um “check-point” verifica e reaplica


transações finalizadas. As transações que estavam “abertas” são
descartadas.

Checkpoint File
Suporte ao reinicio automático de programas (núcleo) após falha do sistema.

DATA
Pode se propagar através de múltiplos discos.
Dados armazenados em Arquivos Blocos Registros Campos.

Arquivos (no Banco de Dados)


São identificados por um número único e, geralmente, propagam-se por
vários blocos.
O número máximo de arquivos/tabelas é 5.000 (cinco mil).
Blocos
Identificados por RABN’s (Relative ADABAS Block Number).
Composto de registros comprimidos, espaço livre e área de expansão
(padding). O espaço livre não é obrigatório.
A área de expansão é dimensionada pelo DBA (conforme projeções de
atualização para o arquivo).
Registros
Identificados por ISN’s (Internal Sequential Number) atribuídos pelo
ADABAS (ou por usuários do banco - [PARM] não recomendado).
O número máximo de registros em um arquivo é 4 bilhões.
Um registro não pode se propagar em outros blocos (observar tamanho
[mínimo/máximo] e formato [comprimido/descomprimido]).
Campos
São identificados pelo “short name” (AA,AB, AC, ...).
O número máximo de campos em um registro é 926 (novecentos e vinte e
seis). Tipos:

Elementar - não possui subdivisões

A = Alfanumérico
U = Descompactado
P = Compactado
B = Binário
F = Ponto Fixo
G = Ponto Flutuante

de Grupo - possui subgrupos e/ou itens elementares.


Máximo = 7 níveis.

de Valor Múltiplo (MU) - possui ocorrências de item elementar


controladas por um Contador Binário de Ocorrências (BOC).
Máximo = 191 ocorrências.

Mansueto G Almeida
Análise, Projeto e Desenvolvimento de Sistemas. Modelagem de Dados e Processos. Bancos de Dados.
Conversão entre Ambientes/Sistemas Operacionais. Programação Estruturada e Orientação a Objetos.
Bancos de Dados ADABAS-C (SGBD Adaptável) – Fundamentos [Página 4 de 10]

Grupo Periódico (PE) – possui ocorrências de itens de grupo controladas


por um Contador Binário de Ocorrências (BOC).
Máximo = 99 ocorrências.

Nome Completo Endereço


Sobrenome Nome Cargo Dt.Nasc Rua Cidade

Davis Jannifer 05 Mailroom 19601211 02 5th Ave New York


Clerk
Programmer Park Lane Miami
Trainee
Programmer
DBA
Mailroom
Clerk

GRUPO BOC MÚLTIPLO BOC GRUPO PERIÓDICO

Compressão de Dados

Aplicada em campos de registros (mais registros por bloco).

Racionaliza espaço em disco e otimiza processo de I/O.


Recupera mais blocos (com mais informação) para a memória.

Transparente ao usuário
Field Definition Table (FDT) - Tabela de Definição de Campos
Included Lenght Byte (ILB) – Byte de Tamanho [Inclusive]
Empty Fields Counter (EFC) – Contador de Campos em Branco

Compressão Padrão
Remove espaços em branco à direita e zeros à esquerda.
Armazena para cada campo: tamanho+1 (ILB) e conteúdo.
Em campos múltiplos, elimina ocorrências marcadas como “deletadas”.
Em campos periódicos, usa contador de campos em branco (EFC).

Supressão de Nulos
Representa até 63 campos em branco (consecutivos) em um único byte.
Campos com tendência a valores nulos devem ficar juntos no final do
registro.

Fixa (Incondicional)
Compressão declarada na Tabela de Definição de Campos (FDT).
Não é recomendada para campos com apenas um byte.

Mansueto G Almeida
Análise, Projeto e Desenvolvimento de Sistemas. Modelagem de Dados e Processos. Bancos de Dados.
Conversão entre Ambientes/Sistemas Operacionais. Programação Estruturada e Orientação a Objetos.
Bancos de Dados ADABAS-C (SGBD Adaptável) – Fundamentos [Página 5 de 10]

ASSO (Associações / Relacionamentos)


Pode se propagar através de múltiplos discos.

Lista Invertida
Armazenada em blocos de tamanho fixo.
Índice criado para cada descritor, contendo:
Valor da chave;
Contador de ISN’s;
ISN’s.

Conversor de Endereço (Address Converter)


Armazenado em blocos de tamanho fixo.
Cada arquivo possui uma tabela de “ISN’s vs. RABN’s”.
Relaciona um Internal Sequential Number (ISN) a um Relative ADABAS
Block Number (RABN) para especificar a localização de um registro contido
no Data Storage.

ASSOciator
ASSO
CONVERSOR
DATA STORAGE
ISN's RABN's
(1) 4 RABN's ISN's Valores ISN's Valores
(2) 2 (1) 7 BROWN CRICKET 5 JONES BROATING
(3) 5 (2) 2 DAVIS ANGLING 11 BROWN CLIMBING
(4) 4 (3) 6 JONES BOWLING 9 SMITH CLIMBING
(5) 1 (4) 4 SMITH CLIMBING 1 MACKAY BOWLING
(6) 3 (5) 10 JONES ANGLING 3 TURNER CRICKET
(7) 1 (6) 8 TURNER SWIMMING
(8) 6
(9) 3
(10) 5
(11) 2
ASSOciator
ASSO
LISTA INVERTIDA
Data Storage
Valor Cnt ISN's

BROWN 2 7 11
ASSOciator
ASSO DAVIS 1 2
JONES 3 5 6 10
MACKAY 1 1
FDT's SMITH 2 4 9
TURNER 2 3 8

Mansueto G Almeida
Análise, Projeto e Desenvolvimento de Sistemas. Modelagem de Dados e Processos. Bancos de Dados.
Conversão entre Ambientes/Sistemas Operacionais. Programação Estruturada e Orientação a Objetos.
Bancos de Dados ADABAS-C (SGBD Adaptável) – Fundamentos [Página 6 de 10]

Tabela de Definição de Campos (FDT)


Cada arquivo possui uma Field Definition Table (FDT) com características
como nome, formato e tamanho.

Descritores (“Chaves”)
Elementar (simples, apenas um campo)
Super Descritor (composto, mais de um campo)
Sub Descritor (parte de um campo)
Hiper Descritor (fórmula ou algoritmo)
Fonético (“sonoridade” do campo)
Único (primário)

Múltiplo (o ISN pode aparecer várias vezes na lista invertida)


Grupo Periódico (idem ao múltiplo e armazena o BOC na lista
invertida)

WORK (Área de Trabalho)

Armazena resultados de operações complexas;


Transações “completadas” por END-TRANSACTION (ET).
Alterações realizadas em etapas parciais de uma transação.
Em caso de falha do sistema (buffer pool ou transação do usuário) o núcleo
do ADABAS utiliza as informações do WORK File para restaurar o “status”
que os registros tinham no início das transações.

Mansueto G Almeida
Análise, Projeto e Desenvolvimento de Sistemas. Modelagem de Dados e Processos. Bancos de Dados.
Conversão entre Ambientes/Sistemas Operacionais. Programação Estruturada e Orientação a Objetos.
Bancos de Dados ADABAS-C (SGBD Adaptável) – Fundamentos [Página 7 de 10]

Transação Lógica

Unidade de atualização definida por usuário/programa.


Inicia quando o 1o registro é colocado em “HOLD” e termina quando é emitido um
END TRANSACTION (ET). Após emitir o “ET”:
A) Os registros em “HOLD” são liberados;
B) As alterações são garantidas;
C) A transação é encerrada.
Pode ser descartada através de um BACKOUT TRANSACTION (BT).

Obs.: ET=COMMIT, BT=ROLLBACK

O tempo máximo de uma transação é definido pelo DBA (padrão = 300 segundos).
Ao exceder este tempo:
A) O usuário é “backed out” ao último “ET”;
B) Os registros presos são liberados;
C) O usuário recebe código de resposta “9”.

HOLD
Opção de bloqueio de registro para os demais usuários efetuada por
comandos NATURAL de atualização do banco (inclusão, alteração ou
exclusão).
O ADABAS bloqueia qualquer alteração simultânea efetuando uma entrada
na tabela do núcleo para os ISN’s dos registros colocados em HOLD.

“Tudo ou Nada”
As alterações são executadas imediatamente, mesmo se a transação ainda
não foi concluída. Ao final, podem ser emitidos um “ET” (confirmar) ou um
“BT” (revogar) para todas as etapas parciais realizadas até o momento.

Acesso Simultâneo
Quando dois programas acessam ao mesmo tempo o mesmo registro, pode
ocorrer:
A) Um programa espera que o outro libere o registro bloqueado;
B) Reage ao código de resposta enviando mensagem ao usuário.

Códigos de resposta freqüentes

Códigos diferentes de “0” erro no processamento de um comando ADABAS.

Código Significado
9 Tempo máximo de transação ou não atividade excedido
17 Número de arquivo inválido
113 ISN especificado é inválido (provavelmente, foi excluído)
145 Tentativa de reservar um ISN que já foi colocado em “HOLD”
por outro usuário
148 Núcleo do ADABAS não está ativo

Mansueto G Almeida
Análise, Projeto e Desenvolvimento de Sistemas. Modelagem de Dados e Processos. Bancos de Dados.
Conversão entre Ambientes/Sistemas Operacionais. Programação Estruturada e Orientação a Objetos.
Bancos de Dados ADABAS-C (SGBD Adaptável) – Fundamentos [Página 8 de 10]

Modos de Acesso (Leitura


( Seqüencial))

Método de Acesso Estruturas Seqüência Ponto de Partida


Utilizadas Retornada
Física Núcleo Seqüência Física Não permite
Data Storage
por ISN Núcleo Seqüência de ISN ISN inicial
Conversor de (opcional)
Endereços
Data Storage
Lógica Núcleo Seqüência de Valor Valor inicial
Lista Invertida de Descritor (opcional)
Conversor de
Endereços
Data Storage
Histograma Núcleo Seqüência de Valor Valor inicial
(valores de um Lista Invertida de Descritor (opcional)
descritor)

Modos
Modos de Acesso (Leitura
( Randômica))

Método de Acesso Estruturas Seqüência Ponto de Partida


Utilizadas Retornada
Pesquisa Núcleo Seqüência Física Não permite
(GET) Data Storage
Pesquisa Núcleo Seqüência de Valor Valor inicial
(FIND / READ) Múltiplas Listas de Descritor (opcional)
Invertidas
Conversor de
Endereços
Data Storage

Pesquisa ISN’s para processamento posterior – FIND / READ


1) Baseado em “critérios de pesquisa”, encontrar ISN’s e criar na WORK “listas
resultantes” contendo:
A) Um ISN por registro encontrado;
B) Classificação por ISN (padrão) ou descritores (de 1 à 3);
C) Número de registros encontrados
2) Selecionar ISN’s válidos em “listas resultantes”.

Mansueto G Almeida
Análise, Projeto e Desenvolvimento de Sistemas. Modelagem de Dados e Processos. Bancos de Dados.
Conversão entre Ambientes/Sistemas Operacionais. Programação Estruturada e Orientação a Objetos.
Bancos de Dados ADABAS-C (SGBD Adaptável) – Fundamentos [Página 9 de 10]

Critérios para Pesquisa

Operador Descrição Exemplo


EQ ou = Igual NOME = ‘SMITH’
NE ou <> Diferente NOME NE ‘SMITH’
GT ou > Maior que IDADE > 60
LT ou < Menor que IDADE < 60
GE ou >= Maior ou Igual IDADE GE 60
LE ou <= Menor ou Igual IDADE LE 60

Atualização de Arquivos

Os registros são colocados em “HOLD”, para cada uma destas operações:

Inclusão de um novo registro (STORE)

O ADABAS atribui um ISN ao novo registro, armazena-o em um bloco com


espaço suficiente, atualiza as listas invertidas e o conversor de endereços.
Também atualiza as tabelas de gerenciamento de espaço do ASSO.
Pelo menos um dos campos deve possuir valor diferente de nulos.
Opcionalmente, o ISN pode ser atribuído pelo usuário (PARM definido pelo
DBA – não recomendado).

Alteração de um registro (UPDATE)

Após um comando de leitura, os valores dos campos são modificados pelo


programa (VIEW) e transferidos para o ADABAS através do comando de
atualização.
O núcleo ADABAS modifica os valores dos campos no registro comprimido e
as listas invertidas correspondentes.

Exclusão de um registro (DELETE)

Após a leitura, o comando de exclusão remove o registro comprimido do


DATA STORAGE e a entrada para seu ISN no conversor de endereços.
As informações de espaço livre também são atualizadas.
Opcionalmente, o ISN pode ser reutilizado (PARM definido pelo DBA – não
recomendado).

Mansueto G Almeida
Análise, Projeto e Desenvolvimento de Sistemas. Modelagem de Dados e Processos. Bancos de Dados.
Conversão entre Ambientes/Sistemas Operacionais. Programação Estruturada e Orientação a Objetos.
Bancos de Dados ADABAS-C (SGBD Adaptável) – Fundamentos [Página 10 de 10]

Programas de Aplicação e Tipos de Usuários

Para programas de aplicação que acessam o núcleo do ADABAS os tipos de


usuários são:

ACC (ACCESS) - autorizado para leitura

Na tentativa de alterar os dados, receberá um código de resposta


informando que o arquivo em questão não está disponível.

UPD (UPDATE) - autorizado para leitura e atualização

Funciona sob limite de tempo de transação e, usando “HOLD”, está


protegido de atualizações simultâneas.

EXU (EXCLUSIVE UPDATE) - autorizado para bloquear o arquivo inteiro

Os outros usuários (inclusive UPD) passam a ter autorização apenas para


leitura.

EXF (EXCLUSIVE FILE) - autorizado para bloquear o arquivo exclusivamente

Tem os mesmos direitos do EXU; porém, não permite que outros usuários
tenham acesso simultâneo.

UTI (UTILITY) – Utilitários do Banco de Dados e Serviços Online

Utiliza comandos especiais para manutenção e pode negar, a todos os


programas de aplicação, o acesso aos arquivos ou ao banco de dados
inteiro.

Mansueto G Almeida
Análise, Projeto e Desenvolvimento de Sistemas. Modelagem de Dados e Processos. Bancos de Dados.
Conversão entre Ambientes/Sistemas Operacionais. Programação Estruturada e Orientação a Objetos.

Você também pode gostar