| Bellacosa Mainframe apresenta vsam rrds |
O que é VSAM RRDS?
Ao estudar VSAM (Virtual Storage Access Method), encontramos quatro tipos principais de arquivos:
KSDS (Key Sequenced Data Set)
ESDS (Entry Sequenced Data Set)
RRDS (Relative Record Data Set)
LDS (Linear Data Set)
Neste artigo vamos conhecer o RRDS, um tipo de arquivo criado para situações em que cada registro ocupa uma posição fixa dentro do arquivo.
Em vez de localizar um registro por uma chave, como acontece no KSDS, o RRDS utiliza um número de posição.
Definição simples
O RRDS (Relative Record Data Set) é um tipo de arquivo VSAM onde cada registro é identificado pelo seu número relativo (RRN - Relative Record Number).
Cada posição possui um número fixo:
Registro 1
Registro 2
Registro 3
Registro 4
Assim, o programa acessa diretamente a posição desejada.
Uma analogia simples
Imagine um prédio de apartamentos.
Cada apartamento possui um número.
Se você deseja visitar o apartamento 205, basta informar esse número.
Não precisa procurar pelo nome do morador.
O RRDS funciona da mesma forma.
O sistema acessa o registro pela posição.
O que significa RRDS?
RRDS significa:
Relative Record Data Set
Em português:
Conjunto de Dados por Registro Relativo.
Cada registro é identificado pelo seu número relativo.
Como funciona?
Imagine um arquivo com cinco posições.
Registro 1 → João
Registro 2 → Maria
Registro 3 → Carlos
Registro 4 → Ana
Registro 5 → Pedro
O programa pode solicitar:
READ REGISTRO 4
Resultado:
Ana
O acesso é imediato.
O que é RRN?
RRN significa:
Relative Record Number
É o número da posição do registro.
Exemplo:
RRN 1
RRN 2
RRN 3
RRN 4
RRN 5
Cada posição é única.
Estrutura do RRDS
+----------------------+
RRN 1
+----------------------+
RRN 2
+----------------------+
RRN 3
+----------------------+
RRN 4
+----------------------+
RRN 5
+----------------------+
Cada posição possui espaço reservado.
Como os registros são gravados?
Suponha que exista um arquivo com dez posições.
Inicialmente:
1
2
3
4
5
6
7
8
9
10
O programa grava um cliente no RRN 4.
Depois outro no RRN 8.
As demais posições continuam disponíveis.
Inserção
No RRDS o programa escolhe a posição.
Exemplo:
RRN 15
O registro será gravado exatamente nessa posição.
Atualização
Também é muito simples.
Exemplo:
Atualizar
RRN 10
O sistema altera apenas aquele registro.
Exclusão
Quando um registro é removido, sua posição permanece existindo.
Ela apenas fica disponível para reutilização.
Exemplo:
Antes:
RRN 5 → Pedro
Depois:
RRN 5 → Vazio
Mais tarde outro registro poderá ocupar essa posição.
Como criar um RRDS?
Utilizando IDCAMS.
Exemplo simplificado:
//DEFINE EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE CLUSTER (
NAME(BELLA.CLIENTES.RRDS)
NUMBERED
RECORDSIZE(100 100)
TRACKS(5 2)
)
/*
Observe:
NUMBERED
Esse parâmetro identifica um RRDS.
Como acessar em COBOL?
Exemplo:
SELECT CLIENTES
ASSIGN TO VSAMFILE
ORGANIZATION IS RELATIVE
ACCESS MODE IS RANDOM
RELATIVE KEY IS NUMERO-REGISTRO.
Leitura:
READ CLIENTES
O COBOL utiliza o número relativo informado.
Quando utilizar RRDS?
O RRDS é recomendado quando:
cada posição possui significado próprio;
o acesso é feito pelo número do registro;
os registros têm tamanho fixo;
há necessidade de acesso direto por posição.
Exemplos de uso
controle de vagas;
mapa de assentos;
posições de estoque;
tabelas de configuração;
controle de portas e equipamentos;
sistemas industriais.
Vantagens
Acesso extremamente rápido
O sistema vai diretamente à posição desejada.
Atualizações simples
Basta informar o número relativo.
Estrutura previsível
Cada registro possui posição fixa.
Excelente para tabelas
Ideal quando cada posição representa um item específico.
Desvantagens
Pode desperdiçar espaço
Posições vazias continuam ocupando área lógica.
Menor flexibilidade
Não é indicado para grandes cadastros.
Sem pesquisa por chave
É necessário conhecer o número relativo.
RRDS x KSDS
| RRDS | KSDS |
|---|---|
| Número relativo | Chave primária |
| Sem índice tradicional | Possui índice |
| Posição fixa | Ordem pela chave |
| Excelente para tabelas | Excelente para cadastros |
RRDS x ESDS
| RRDS | ESDS |
|---|---|
| Número relativo | Ordem de entrada |
| Acesso direto | Leitura sequencial |
| Posição fixa | Inserção no final |
Curiosidades incríveis
1. O RRDS reserva espaço para cada posição
Mesmo antes de todos os registros existirem.
2. O acesso é muito rápido
Porque não depende de pesquisas sequenciais.
3. Muitos sistemas industriais utilizam RRDS
Principalmente quando existem posições físicas bem definidas.
4. O COBOL oferece suporte nativo ao RRDS
A linguagem possui recursos específicos para trabalhar com arquivos relativos.
Erros comuns de iniciantes
"RRDS utiliza chave"
Não.
Ele utiliza o RRN (Relative Record Number).
"É igual KSDS"
Não.
O KSDS pesquisa pela chave.
O RRDS acessa pela posição.
"Posso localizar um registro pelo CPF"
Não diretamente.
É necessário conhecer o número relativo onde o registro está armazenado.
Quando escolher RRDS?
Escolha RRDS quando:
cada registro possuir uma posição fixa;
o número da posição for conhecido;
houver necessidade de acesso direto extremamente rápido;
a aplicação trabalhar com tabelas, mapas ou posições numeradas.
Conclusão
O VSAM RRDS é um tipo de arquivo que organiza os registros por número relativo (RRN), permitindo acesso direto e extremamente rápido a qualquer posição do arquivo.
Sua estrutura simples e previsível o torna ideal para aplicações que trabalham com posições fixas, como mapas de assentos, tabelas de configuração, controle de equipamentos e sistemas industriais.
Embora seja menos utilizado do que o KSDS em aplicações corporativas tradicionais, o RRDS continua sendo um importante componente da família VSAM e um conceito essencial para quem deseja dominar o armazenamento de dados no ambiente IBM Mainframe.
Sem comentários:
Enviar um comentário