CDS/ISIS: Entendendo a ISISUC.TAB
Elysio Mira Soares de Oliveira
infoarte@elysio.com.br

Este artigo tem como objetivo divulgar um recurso disponível no CDS/ISIS e ainda pouco utilizado devido ao seu desconhecimento.

Tem sido freqüente ouvir de usuários do CDS/ISIS o argumento de que decidiram não adotar as regras ortográficas de nosso idioma na transcrição de dados que compõe os registros do banco de dados porque cria problemas durante a recuperação das informações. Este argumento não tem fundamento algum. Desde a primeira versão do CDS/ISIS, nos idos dos anos 70, este recurso já havia sido implementado.

O controle dos caracteres que vão compor as chaves de acesso no índice da base de dados pode ser feito através da ISISUC.TAB. A ISISUC.TAB tem uma função muito importante no processo de configuração do CDS/ISIS. Ela é responsável pela padronização da grafia das chaves de acesso tanto na geração do índice quanto no processo de busca. Por exemplo, cada um dos termos apresentados abaixo são termos que representam o mesmo conceito mas que são representados com grafias distintas.

População
população
POPULAÇÃO

Para que eles constituam uma única entrada no índice de acesso eles devem passar por um processo de padronização. Este processo vai fazer com que todos estes termos sejam representados por uma única chave de acesso no índice (POPULACAO).

Esta conversão é feita através das instruções contidas na ISISUC.TAB que é utilizada pelo CDS/ISIS durante a criação/atualização do índice e durante o processo de busca. No processo de criação/atualização do índice, o sistema se baseia nas instruções de MODO de extração de chave (mhu, mpu, mdu), fornecidas na FST (Tabela de Seleção de Campos).

No processo de busca a conversão é feita automaticamente sem nenhuma instrução. Este mecanismo permite que todos os termos descritos anteriormente sejam indexados sob uma única chave (POPULACAO) e sejam encontrados independentemente da grafia utilizada pelo usuário na expressão de pesquisa.

Por exemplo, se o usuário pesquisar por “população” o sistema internamente recorre à tabela, converte o termo para POPULACAO e efetua a busca.

Além desta função, a ISISUC.TAB é tambem utilizada durante a execução de instruções de formato que utilizam os MODOS de exibição mhu, mpu, mdu. Toda vez que o sistema encontra um destes comandos numa instrução de formato, recorre à tabela e faz a conversão.

Exemplo: mhu,v1

Neste exemplo, todo o conteúdo do campo 1 será convertido para maiúscula conforme os parâmetros de conversão contidos na tabela isisuc.tab

Conteúdo da Tabela:

A tabela ISISUC.TAB contém todos os códigos ASCII ordenados de forma crescente (do menor para o maior) com a equivalência em maiúscula dos 256 caracteres disponíveis. A instrução de conversão na tabela é feita, utilizando um editor de texto e substituindo o código ASCII da sequência pelo código ASCII do seu equivalente em maiúscula. Os caracteres não alfabéticos não serão convertidos.

A tabela deve conter todos os 256 códigos. Segue abaixo uma ISISUC.TAB construída para a conversão para maiúscula do conjunto de caracteres Português (Brasileiro).

000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 028 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 123 124 125 126 127 067 085 069 065 065 065 065 067 069 069 069 073 073 073 065 065 069 069 069 079 079 079 085 085 089 079 085 155 156 157 158 159 065 073 079 085 078 078 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 065 065 085 184 185 186 187 188 189 190 191 192 193 194 195 196 197 065 065 200 201 202 203 204 205 206 207 079 068 069 069 069 073 073 073 073 217 218 219 220 221 222 223 079 225 079 079 079 079 230 231 232 085 085 085 089 089 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255

Note que na posição equivalente ao código 097 (a) foi inserido o código 065 (A), ou seja, o caracter a, será convertido para A.

Tabela ASCII de caracteres - Português (brasileiro)

Obs: Os caracteres em destaque são aqueles que foram indicados na isisuc.tab para serem convertidos.

033 !
034 "
035 #
036 $
037 %
038 &
039 '
040 (
041 )
042 *
043 +
044 ,
045 -
046 .
047 /
048 0
049 1
050 2
051 3
052 4
053 5
054 6
055 7
056 8
057 9
058 :
059 ;
060 <
061 =
062 >
063 ?
064 @
065 A
066 B
067 C
068 D
069 E
070 F
071 G
072 H
073 I
074 J
075 K
076 L
077 M
078 N
079 O
080 P
081 Q
082 R
083 S
084 T
085 U
086 V
087 W
088 X
089 Y
090 Z
091 [
092 \
093 ]
094 ^
095 _
096 `
097 a
098 b
099 c
100 d
101 e
102 f
103 g
104 h
105 i
106 j
107 k
108 l
109 m
110 n
111 o
112 p
113 q
114 r
115 s
116 t
117 u
118 v
119 w
120 x
121 y
122 z
123 {
124 |
125 }
126 ~
127 
128 Ç
129 ü
130 é
131 â
132 ä
133 à
134 å
135 ç
136 ê
137 ë
138 è
139 ï
140 î
141 ì
142 Ä
143 Å
144 É
145 æ
146 Æ
147 ô
148 ö
149 ò
150 û
151 ù
152 ÿ
153 Ö
154 Ü
155 ø
156 £
157 Ø
158 ×
159 ƒ
160 á
161 í
162 ó
163 ú
164 ñ
165 Ñ
166 ª
167 º
168 ¿
169 ®
170 ¬
171 ½
172 ¼
173 ¡
174 «
175 »
176 _
177 _
178 _
179 ¦
180 ¦
181 Á
182 Â
183 À
184 ©
185 ¦
186 ¦
187 +
188 +
189 ¢
190 ¥
191 +
192 +
193 -
194 -
195 +
196 -
197 +
198 ã
199 Ã
200 +
201 +
202 -
203 -
204 ¦
205 ¨
206 +
207 ¤
208 ð
209 Ð
210 Ê
211 Ë
212 È
213 i
214 Í
215 Î
216 Ï
217 +
218 +
219 _
220 _
221 ¦
222 Ì
223 _
224 Ó
225 ß
226 Ô
227 Ò
228 õ
229 Õ
230 µ
231 þ
232 Þ
233 Ú
234 Û
235 Ù
236 ý
237 Ý
238 ¯
239 ´
240 ­
241 ±
242 _
243 ¾
244 ¶
245 §
246 ÷
247 ¸
248 °
249 ¨
250 ·
251 ¹
252 ³
253 ²
254 _
255