Apêndice III – Estrutura dos registros de uma base ISIS

Um registro com estrutura ISIS tem duas características especiais que oferecem uma grande versatilidade para o tratamento de informação textual: campos repetitivos e de tamanho variável.
Considerando que os registros não têm um tamanho predeterminado, nem os campos têm um tamanho fixo, nem uma quantidade predeterminada de ocorrências, não é possível ter acesso direto a nenhuma porção de dados dentro da base. O acesso ao registro é feito de modo indireto, através de ponteiros em um arquivo auxiliar com extensão .XRF, e dentro do registro os dados são acessados através de ponteiros em um diretório. O arquivo .XRF contem toda a informação necessária para encontrar o ponto de início do registro solicitado dentro do .MST. Para todos os exemplos que seguem será usado o registro MFN=1 da base CDS, cujo conteúdo completo é o seguinte:

\cisis\bases\cds Base de dados
Nxtmfn nxtmfb nxtmfp t reccnt mfcxx1 mfcxx2 mfcxx3 RC
152 123 13 0 0 0 0 0 0
Registro de controle (control)
Mfn= 1|mfrl= 370|mfbwb= 0|mfbwp= 0|base= 66|nvf= 8|status=
0| 0
leader
Mfn= 1|dir= 1|tag= 44|pos= 0|len= 77
Mfn= 1|dir= 2|tag= 50|pos= 77|len= 11
Mfn= 1|dir= 3|tag= 69|pos= 88|len= 78
Mfn= 1|dir= 4|tag= 24|pos= 166|len= 68
Mfn= 1|dir= 5|tag= 26|pos= 234|len= 22
Mfn= 1|dir= 6|tag= 30|pos= 256|len= 20
Mfn= 1|dir= 7|tag= 70|pos= 276|len= 15
Mfn= 1|dir= 8|tag= 70|pos= 291|len= 12
dir
Mfn= 1
44 «Methodology of plant eco-physiology: proceedings of the
Montpellier Symposium»
50 «Incl. bibl.»
69 «Paper on: <plant physiology><plant
transpiration><measurement and instruments>»
24 «Techniques for the measurement of transpiration of individual
plants»
26 «^aParis^bUnesco^c-1965»
30 «^ap. 211-224^billus.»
70 «Magalhaes, A.C.»
70 «Franco, C.M.»
..
fields

O Registro de CONTROLE
Uma base ISIS tem um registro especial no início (MFN=0) ao qual CDS/ISIS não provê acesso. Este registro tem uma estrutura diferente dos demais registros do arquivo mestre (MST). A informação deste registro é mostrada com o parâmetro +control. A estrutura é:
Estrutura do registro de CONTROLE

Ctlmfn Sempre 0. Este campo não aparece com o MX <dbn> +control.
Nxtmfn MFN a ser atribuído no próximo registro.
Nxtmfb Último bloco atribuído no .MST. Os blocos são de 512 bytes.
Nxtmfp Primeira posição livre dentro do último bloco atribuído. Um
registro pode começar em qualquer posição livre entre 0-498
e estender-se por um ou mais blocos. Nenhum registro pode
começar entre o byte 500 e 510.
Mftype Tipo de base de dados: 0 base do usuário,
1 base de mensagens do sistema.
Reccnt Reservado.
Mfcxx1 Reservado.
Mfcxx2 Bloqueio de entrada de dados, valores 0, 1…n, depende de
quantos registros estão sendo editados em certo momento.
Mfcxx3 Bloqueio de leitura exclusiva, valores 0/1.

O Registro de XREF
O arquivo .XRF está organizado como uma tabela de ponteiros para o arquivo mestre (.MST). O primeiro ponteiro corresponde ao MFN=1, o segundo ao MFN=2, etc. Cada ponteiro consiste de dois campos (4 bytes) que na tabela do exemplo anterior indicam que o MFN=1 começa no bloco 1 (comb) e dentro do bloco a partir do byte 65 (comp) e que não está pendente a atualização do arquivo invertido. O último valor é a referência real do ponteiro expressada em valor hexadecimal.
Cada bloco do .XRF é um arquivo de 512 bytes de tamanho e contem 127 ponteiros (dado importante para a reconstrução do .MST que é explicado no utilitário CTLMFN).
O Registro do Arquivo MST
Os registros do arquivo mestre são armazenados consecutivamente, um após outro, ocupando cada registro exatamente MFRL bytes. Cada arquivo é armazenado como blocos físicos de 512 bytes. Um registro pode começar em qualquer ponto entre a posição 0 e 498 e pode estender-se por um ou mais blocos. O registro MST tem tamanho variável e consiste de três seções:
• Uma de tamanho fixo (leader);
•  Um diretório;
• Os campos de dados de tamanho variável.
Estrutura do LEADER
O leader consiste de um bloco de tamanho fixo de 18 bytes.

Mfn Número de registro
Mfrl Tamanho total do registro, incluindo as três seções:
leader, diretório e área de dados.
Sempre é um número par.
Mfbwb Ponteiro para a versão anterior do registro, número
do bloco dentro do MST. Inicialmente está com 0, e
também após a atualização do arquivo invertido.
Mfbwp Ponteiro para a versão anterior do registro.
Deslocamento dentro do bloco.
Base Posição onde começa a área de dados dentro
do registro. Este valor é a soma do tamanho
do leader mais o tamanho do diretório.
Nvf Quantidade de campos no registro, ou seja,
a quantidade de entradas no diretório do
Registro.
Status Indicador de apagado (0 = registro ativo; 1 = logicamente apagado)

Estrutura do DIRETÓRIO
O diretório do registro é um índice para os conteúdos do registro no segmento de dados. Este índice é constituído por tantas entradas conforme o número de campos (nvf), permitindo o acesso aos dados. Cada entrada no diretório é formada por três partes:

Tag Identificador de campo ou etiqueta
Pos ndereço em bytes onde começa o primeiro
caráter na área de dados correspondente a
esta ocorrência do campo.
Len Tamanho do campo em bytes.

 

Deixe um comentário