quinta-feira, março 14, 2019

Visão Geral do Adabas

Este tópico fornece uma visão geral dos arquivos Adabas e Adabas e inclui uma discussão de conceitos.

O Adabas é um SGBD orientado para o campo. Recuperações e atualizações de dados são realizadas campo a campo.

Como a recuperação de dados do Adabas ocorre no nível de campo e não no nível de registro, seus aplicativos podem ser projetados sem considerar a organização física e a manutenção do registro. Os dados são acessados ​​de várias maneiras (em seqüência física, em seqüência lógica ou por números de sequência interna), permitindo que você personalize o acesso aos dados para atender às suas necessidades específicas.

O Adabas DBMS consiste em vários componentes. A seguir, uma ilustração do ambiente Adabas.



Esta tabela descreve os componentes do ambiente do Adabas.

Operating System Conjunto de programas (software) que controlam o funcionamento do computador (hardware).
Online Region Parte da área dinâmica do computador. É a seção na qual vários jobs são executados simultaneamente. A região on-line também é conhecida como a região de primeiro plano (aplica-se apenas ao TSO).
Batch Region Parte da área dinâmica do computador. As tasks se tornam uma série de comandos que são agrupados e processados ​​em batch (aplica-se somente a tasks em batch).
Data Storage Area Contém os dados reais. Os dados são armazenados em formato compactado.
Associator Armazena relacionamentos sobre os dados. Ele contém os seguintes componentes: (*) A lista de número de seqüência interna (ISN), também chamada de conversor de endereços, é usada para determinar a localização física dos dados. (*) Tabelas de alocação de espaço (SATs) para controlar o espaço de armazenamento. (*) Listas invertidas para os descritores definidos. Listas e descritores invertidos são discutidos em Listas invertidas: A estrutura de chaves do Adabas. (*) Tabelas de definição de campo (FDTs), que contêm informações detalhadas da estrutura de dados para cada campo e descritor.
Work Area É um "bloco de rascunho" usado pelo Adabas para construir listas ISN e para classificar e armazenar registros que seu programa requer.
O Módulo de Multiprogramação (MPM), a pedra fundamental do Núcleo Adabas, contém a lógica que permite que vários programas, tanto em batch quanto on-line, acessem os bancos de dados Adabas simultaneamente.

Cada banco de dados possui sua própria área de Data Storage, Associator e Work Area, além de seu próprio número de banco de dados exclusivo.

Arquivos Adabas

Ao acessar o Adabas, o servidor usa arquivos lógicos como a unidade de recuperação de dados. Um arquivo Adabas é identificado por um número de arquivo. O número é único dentro de cada banco de dados.

Toda a documentação dos campos dos arquivos do banco de dados estão armazenadas no dicionário de dados (Predict). As informações sobre a estrutura de dados incluem usos de processamento, propriedade de arquivo e descrições de campo.

Listas invertidas: A estrutura da chave Adabas

Um arquivo Adabas é definido com um conjunto de índices chamados descritores. O termo Adabas para esses valores, que residem na Tabela do Associator do Arquivo, são chamados de "listas invertidas". As listas invertidas contêm os valores dos descritores, uma contagem do número total de registros em que cada valor aparece e os números de seqüência interna (ISNs), em ordem crescente, associados a cada ocorrência.

Os utilitários do Adabas criam e mantêm uma lista invertida para cada descritor identificado. Essas listas armazenam dados em uma seqüência crescente pelo valor da chave. Um único arquivo pode ter até 256 listas invertidas associadas a ele.

Os descritores são identificados para acelerar a localização dos dados e para recuperar dados específicos exigidos com frequência dos arquivos do Adabas. Dos tipos disponíveis de listas invertidas, os seguintes são os tipos de descritores suportados no Adabas.

Descritores Valores-chave associados a um único campo (também chamados de descritores de campo elementares).
Subdescritores Valores-chave associados a parte de um único campo.
Superdescritores Valores-chave associados a todos ou parte de dois a vinte campos.
Descritores fonéticos Valores alfabéticos associados aos primeiros vinte bytes do valor do campo.
Hyperdescriptors Um valor gerado, baseado em um algoritmo fornecido pelo usuário.

Temos cinco tipos de descritores de forma intercambiável, cada um é usado para uma pesquisa de dados.

Dois ou mais arquivos podem estar relacionados das seguintes formas:

O administrador do banco de dados pode acoplar vários arquivos com base em uma chave de descritor comum em cada arquivo. Uma aplicação escrita em programa pode relacionar logicamente arquivos se houver campos em um arquivo que possam ser usados ​​para acessar uma chave em outro.

Tabelas de Definição de Campo

As informações de descrição de campo para arquivos Adabas são mantidas na FDT, que faz parte do associador Adabas. O Adabas usa essas informações ao acessar arquivos. O FDT inclui as seguintes informações:

Indicador de nível de campo Denota uma relação hierárquica entre campos. Em uma descrição de registro do Adabas, os níveis são 1, 2, 3 e assim por diante.
Nome do campo do Adabas Nome de dois caracteres usado pelo Adabas para identificar o campo. Esse nome é exclusivo para o arquivo. O primeiro caractere deve ser alfabético e o segundo caractere pode ser alfabético ou numérico. Os nomes de campo E0 a E9 são reservados para uso interno do Adabas.
Comprimento Padrão Comprimento do campo em bytes.
Formato padrão Formato do campo. Consulte a tabela em Formatos padrão para campos do Adabas para os formatos aceitáveis ​​e seus significados.
Propriedades do campo Indica se o valor do campo é suprimido (NU), o campo é de comprimento fixo ou variável (FI) ou se o campo (que existe em uma plataforma de mainframe) é alfanumérico longo (LA).
Status do descritor Indica se o campo é um descritor, subdescriptor, superdescriptor, descritor fonético, hyperdescriptor, subcampo ou superfield.
Tipo de campo Indica se um campo é um grupo (GR), multivalor (MU) ou grupo periódico (PE). Campos de valores múltiplos e grupos periódicos são exemplos de campos que ocorrem multiplicados.


Normalmente, um Adabas FDT contém algumas, mas não todas, as características de campo discutidas acima. Para visualizar o FDT, o Software AG fornece o relatório do ADAREP. Consulte a documentação do Software AG para obter mais informações sobre como executar o relatório do ADAREP. O nome do campo externo está no dicionário Predict.

Nome do campo externo Nome de 32 bytes usado em uma predição para identificar o campo. Esse nome é exclusivo para o arquivo.

Referência: Formatos padrão para campos do Adabas

A tabela a seguir mostra os formatos padrão aceitáveis ​​para os campos do Adabas e seus significados.
Formato Descrição
A Campo de dados alfanuméricos com um máximo de 253 bytes (126 para campos de descritores).
U Campo de dados decimais com um máximo de 29 bytes (dados assinados, descompactados).
P Campo de dados decimais compactados assinados com um máximo de 15 bytes.
B Campo de dados binários não assinados com um máximo de 126 bytes.
F Campo de dados de ponto flutuante de precisão única que tem sempre quatro bytes de comprimento.
G Campo inteiro decimal de precisão dupla com um máximo de oito bytes.
No exemplo a seguir, a coluna à esquerda ilustra um FDT parcial do Adabas. Os números em negrito à esquerda referem-se às anotações numeradas que se seguem:

    PAY-FILE
 
   FIELD DESCRIPTION (from FDT)           FIELD NAME (from DDM)
  
1. 01, PS, 08, P, NU, DE                  SSN 
2. 01, PW, 04, P                          HOURLY_WAGE 
3. 01, MI, PE                             MONTHLY_INFO
   02, MH, 04, P                          MONTHLY_HOURS
   02, MW, 04, P                          MONTHLY_WAGES
   02, MT, 04, P                          MONTHLY_TAX 
4. 01, PT, 04, P, DE, MU                  TAX
   01, PC, 08, P, DE, MU                  CHILD_SSN

1 - O primeiro campo, SSN, é um campo de nível elementar. Seu nome interno é PS, tem oito bytes de comprimento e está no formato de dados decimais compactados. O campo é nulo suprimido, conforme indicado pela NU, e é um descritor (DE).

2 - HOURLY_WAGE também é um campo de nível elementar. É chamado PW internamente, tem quatro bytes de comprimento e também está no formato de dados decimais compactados.

3 - MONTHLY_HOURS, MONTHLY_WAGES e MONTHLY_TAX são todos campos subordinados do grupo periódico MONTHLY_INFO (PE). Internamente, eles são chamados de MH, MW e MT, respectivamente. Cada um tem quatro bytes de comprimento e está no formato de dados decimais compactados.

4 - TAX e CHILD_SSN são campos de nível elementar. O TAX é chamado PT internamente, tem quatro bytes de comprimento, está no formato de dados decimais compactados e é um campo de múltiplos valores (MU) com um descritor (DE) associado a ele. CHILD_SSN é chamado PC internamente, tem oito bytes de comprimento, está no formato decimal compactado e também é um campo de múltiplos valores com um descritor associado a ele.

Para obter mais informações sobre os grupos periódicos Adabas (PE) e vários valores (MU), consulte Mapeando arquivos Adabas com registros de comprimento variável e campos repetidos .

Gerenciando o armazenamento de dados com supressão nula

A supressão nula é um dos métodos que o Adabas emprega para gerenciar o armazenamento de dados. Apenas os campos dentro de um registro que contêm dados são armazenados. Campos contendo espaços em branco para caracteres alfabéticos ou zeros para dados numéricos não são armazenados. Eles são representados por um caractere de "campo vazio" de um byte. Quando um procedimento acessa um registro contendo um campo suprimido com nulo, o Adabas expande o campo para seu tamanho total e inclui os valores nulos de espaços em branco ou zeros.

Quando o campo suprimido com nulo é um descritor ou parte de um superdescriptor, nenhuma entrada é feita para o registro que contém esse campo na lista invertida. Não seria produtivo ter a lista invertida direcionando você para registros nos quais o descritor não possui dados.

Um campo com supressão nula aparece com o atributo NU no Adabas FDT.

Note que para o Servidor suportar NULL (MISSING = ON) para um campo Adabas, você deve definir o campo no Adabas FDT com o atributo NC.

Gerenciando o armazenamento de dados com opções nulas do SQL O Adabas inclui duas opções de definição de dados, Não Contadas (NC) e Não Nulo ou Nulo (NN), para fornecer representação nula compatível com SQL para o Adabas SQL Server (ESQ) por Software AG e outras Linguagens de Consulta Estruturadas (SQL) linguagens de consulta de banco de dados.

As opções NC e NN não podem ser aplicadas a campos definidos:
  • Com supressão nula do Adabas (NU).
  • Com um tipo de dados de ponto fixo (FI).
  • Com vários valores (MU).
  • Dentro de um grupo periódico.
  • Como campos de grupo.

NC: Opção de valor nulo SQL

Sem a opção Not Counted (NC), um valor nulo é zero ou em branco, dependendo do formato do campo.

Com a opção NC, zeros ou espaços em branco especificados no buffer de registro são interpretados de acordo com o valor "indicador nulo": como zeros ou espaços em branco (isto é, como nulos "significativos") ou como valores indefinidos (isto é, como true SQL ou nulos "insignificantes".

Se o campo definido com a opção NC não tiver nenhum valor especificado no buffer de registro, o valor do campo será sempre tratado como um nulo SQL.

Nota: Na plataforma de mainframe, os subdescritores e superdescriptors definidos com os parâmetros NC = YES e MISSING = ON não podem ser usados ​​para procurar o valor SQL NULL, pois isso causa um Adabas RC 61.

NN: opção SQL não nulo

A opção Não Nulo ou Valor Nulo Não Permitido (NN) só pode ser especificado quando a opção NC também é especificada para um campo de dados. A opção NN indica que um campo NC deve sempre ter um valor (incluindo zero ou em branco) definido; não pode conter "sem valor".

Estrutura dos arquivos

Usa uma linguagem não processual para criar relatórios, gráficos e extrair arquivos. Ele também permite que você acesse fontes de dados sem conhecer os detalhes da estrutura de arquivos ou do método de acesso. Trata qualquer fonte de dados como uma hierarquia de caminho único ou de caminho múltiplo. Graficamente, as informações são exibidas usando uma estrutura de árvore invertida, como no arquivo STAFF exemplo a seguir. No exemplo, a letra I à direita de um campo indica um campo indexado.



As informações mais gerais aparecem na parte superior e as informações mais específicas aparecem abaixo dela. Cada caixa na estrutura é referida como um segmento. Um banco de dados pode consistir em um ou mais segmentos logicamente relacionados.

Quando informações relacionadas logicamente são recuperadas usando essa estrutura de banco de dados, várias ocorrências de cada segmento são criadas. Cada ocorrência de um segmento é chamada de instância de segmento. Cada banco de dados Adabas é equivalente a uma coleção de instâncias de segmento logicamente relacionadas.

A seqüência de recuperação dos segmentos é determinada pela visão da estrutura, ou seja, a ordem dos segmentos de cima para baixo e da esquerda para a direita. O segmento no topo é o segmento pai ou raiz. Os segmentos sob o pai são os segmentos filho ou descendentes.

Geralmente, os segmentos pai e filho têm um relacionamento um-para-muitos. Ou seja, um pai solteiro tem várias ocorrências de um segmento filho. No entanto, o servidor também manipula uma instância pai-um somente de um segmento filho.

O Adabas usa conceitos e técnicas específicas para organizar dados. Ele contém dados em arquivos logicamente distintos que estão inter-relacionados usando campos que compartilham formatos e valores comuns chamados descritores.

Em um único arquivo do Adabas, os registros que contêm várias ocorrências de um campo podem variar em tamanho e formato. O exemplo a seguir ilustra uma estrutura do Adabas contendo quatro arquivos separados vinculados por campos comuns:


Muitas estruturas do Adabas são mais complexas que o exemplo anterior.

Descritores Adabas

Os descritores são campos, campos parciais ou grupos de campos completos e parciais usados ​​pelo Adabas para selecionar registros em um arquivo. Os descritores do Adabas correspondem aos campos indexados.

Existem cinco tipos de descritores suportados pelo Adapter for Adabas:
  • Descritores (DE), que possuem um valor associado a um único campo.
  • Superdescritores (SPR), que têm um valor de chave associado a todos ou parte de dois a vinte campos (consulte a documentação do Software AG para limitações atuais em superdescriptors).
  • Subdescritores (NOP), que possuem um valor de chave associado a parte de um único campo.
  • Descritores fonéticos (PDS), que possuem um valor fonético similar a um único campo. O valor fonético de um descritor é baseado nos primeiros 20 bytes do valor do campo. Apenas valores alfabéticos são considerados: valores numéricos, caracteres especiais e espaços em branco são ignorados. Caracteres alfanuméricos minúsculos e maiúsculos são idênticos internamente.
  • Hyperdescriptors (HDS), que possuem um valor gerado, baseado em um algoritmo fornecido pelo usuário.
Todos os cinco tipos de descritores são coletivamente referidos como "descritores".

Considere o Adabas FDT para o arquivo STAFF:
STAFF
FILE FDT 
    FIELD DESCRIPTION (from FDT)           FIELD NAME (from Predict)
       01, ES, 08, P, NU, DE               SOC_SEC_NUM
       01, EI, 06, A, NU, DE               EMPLOYEE_ID
       01, EJ, 03, A, DE                   CURRENT_JOB
       01, EN, 24, A                       NAME
Observe que SOC_SEC_NUM, EMPLOYEE_ID e CURRENT_JOB são rotulados como descritores. Qualquer um desses três campos pode ser usado para pesquisar o arquivo STAFF.

Descritores do Adabas, superdescriptores e subdescritores devem ser declarados em Master e Access Files de determinadas maneiras. Para obter mais informações, consulte Mapeando Descritores do Adabas .

Arquivos Adabas com registros de comprimento fixo

A menos que um arquivo do Adabas tenha campos de vários valores ou grupos periódicos, cada campo ocorre uma vez em cada registro. Ao descrever um arquivo Adabas, você não precisa descrever todos os campos em seu arquivo mestre; apenas os campos que você usa. Observe que, se você escolher um grupo periódico, todos os campos do grupo periódico devem ser definidos. Um único arquivo do Adabas simples é mapeado para um único segmento no servidor, e cada campo usado no arquivo do Adabas se torna um campo no segmento.

db nome nome do campo alias
ES SOC_SEC_NUM SOC_SEC_NUM ES
IE ID_EMPREGADO ID_EMPREGADO IE
EJ CURRENT_JOB CURRENT_JOB EJ
EN NAME NAME EN

Arquivos Adabas com registros de comprimento variável e campos de repetição

Existem dois tipos de campos de repetição do Adabas:

  • Campos de valor múltiplo (MU).
  • Grupos periódicos (PE).
Um campo MU é um campo único que ocorre um número variável de vezes em um registro. Aparece como tipo MU em uma descrição de registro do Adabas. O Adabas suporta até 191 ocorrências de campos MU por registro.

Um grupo de PE é um grupo de campos contíguos que ocorrem um número variável de vezes em um único registro. Aparece como tipo PE em uma descrição de registro do Adabas. O Adabas suporta até 191 ocorrências de campos PE por registro. Esses campos de componentes são campos regulares ou campos MU.

Quando um arquivo Adabas contém campos MU ou grupos PE, as informações de repetição ocorrem um número variável de vezes. A duração do registro físico varia dependendo de quantas vezes as informações de repetição realmente aparecem.

Mais de um segmento é necessário para descrever com precisão um arquivo do Adabas com dados repetidos. O número de vezes que os campos são repetidos é expresso em um campo de contagem.

Video

0 comentários:

Enviar um comentário