1. Arquivos
Sequenciais
Indexados
Estrutura de Dados II
Unida 0
de 9
UFS - DComp - Prof. Kenia Kodel 1
2. Flores?
O verbo educar é originário do latim e quer
dizer extrair de dentro. Logo, a educação
não se constitui em mero estabelecimento de
informações, mas sim de se trabalhar as
potencialidades do ser, a fim de que
floresçam.
UFS - DComp - Prof. Kenia Kodel 2
3. O segredo é não correr atrás das
borboletas... É cuidar do jardim
para que elas venham até você.
.
Mário Quintana
UFS - DComp - Prof. Kenia Kodel 3
4. Aquiv sequencia indexa
r os s dos!
Sa de que se t aa
bem rt?
Pr õ ago?
essup em l
UFS - DComp - Prof. Kenia Kodel 4
5. Arquivos Sequenciais Indexados
Com acesso aos dados
similar ao que
usualmente usamos na
consulta a dicionários
(de palavras,
impressos).
UFS - DComp - Prof. Kenia Kodel 5
6. Arquivos Sequenciais Indexados
E XE MPLO
ÍNDICE 1 (Mestre)
Chave Índice 1.1
Máxima (de Cilindro)
395 001
1028 002
C opiar no
quadro.
1504 003
2150 004
...
UFS - DComp - Prof. Kenia Kodel
7. Arquivos Sequenciais Indexados
E XE MPLO
ÍNDICES 1.1 (de Cilindro)
001 002 003
CHAVE INDICE 1.1.1 CHAVE INDICE 1.1.2 CHAVE INDICE 1.1.3
MAXIMA (de Trilha) MAXIMA (de Trilha) MAXIMA (de Trilha)
100 010 552 050 1110 090
198 020 749 060 1320 100
C opiar no
C opiar no
quadro.
quadro.
247 030 933 070 1445 110
395 040 1028 080 1504 120
...
UFS - DComp - Prof. Kenia Kodel
8. ÍNDICE 1 (Mestre)
Arquivos Sequenciais Indexados Chave Índice 1.1
Máxima (de Cilindro)
E XE MPLO
395 001
ÍNDICES 1.1 (de Cilindro) 1028 002
001 002 003 1504 003
CHAVE INDICE 1.1.1 CHAVE INDICE 1.1.2 CHAVE INDICE 1.1.3 2150 004
MAXIMA (de Trilha) MAXIMA (de Trilha) MAXIMA (de Trilha)
...
100 010 552 050 1110 090
198 020 749 060 1320 100
247 030 933 070 1445 110
395 040 1028 080 1504 120
Paar esent ro índice do cil o 0 4 qua acha e má
r epr a indr 0 , l v xima
aserdispost nest
a e?
UFS - DComp - Prof. Kenia Kodel
9. Arquivos Sequenciais Indexados
E XE MPLO
ÍNDICES 1.1.1 (de Trilha)
010
CHAVE INDICE DE
020
CHAVE INDICE DE
070
CHAVE INDICE DE
MAXIMA DADOS MAXIMA DADOS MAXIMA DADOS
25 011 120 021 830 071
25 -1 120 -1
50 012 142 022 830 -1
50 -1 142 -1 ... 865 072
75 013 154 023 865 -1
75 -1 163 025 933 073
100 014 198 024 933 -1
100 -1 198 -1
...
UFS - DComp - Prof. Kenia Kodel
10. 001
ÍNDICES 1.1
Arquivos Sequenciais Indexados
(de Cilindro)
CHAVE INDICE 1.1.1
MAXIMA (de Trilha)
E XE MPLO
100 010
ÍNDICES 1.1.1 (de Trilha)
198 020
010 020
CHAVE MAXIMA INDICE DE
DADOS
CHAVE MAXIMA INDICE DE
DADOS
247 030
25 011 120 021 395 040
25 -1 120 -1
50 012
142 022
50 -1
142 -1
75 013
75 -1 154 023
100 014 163 025
100 -1 198 024
198 -1 ...
Paar esent ro índice de til 0 0 qua acha e má aser
r epr a r ha 3 , l v xima
dispost nest
a e?
UFS - DComp - Prof. Kenia Kodel
11. Arquivos Sequenciais Indexados
E XE MPLO
ÁREA PRIMÁRIA (de Dados)
011 012 023
CHAVE DADOS CHAVE DADOS CHAVE DADOS
03 DADOS 26 DADOS 143 DADOS
06 DADOS 32 DADOS 144 DADOS
07 DADOS 33 DADOS 146 DADOS
11 DADOS 38 DADOS 147 DADOS
...
13 DADOS 50 DADOS 149 DADOS
15 DADOS 150 DADOS
19 DADOS 151 DADOS
22 DADOS 152 DADOS
154 DADOS
UFS - DComp - Prof. Kenia Kodel
12. Arquivos Sequenciais Indexados
E XE MPLO
ÁREA DE EXCEDENTES 020
(de Dados) CHAVE
MAXIMA
INDICE DE
DADOS
ÍNDICES 1.1.1
120 021
(de Trilha)
025 120 -1
CHAVE DADOS
142 022
155 DADOS 142 -1
162 DADOS 154 023
163 DADOS 163 025
198 024
198 -1
...
UFS - DComp - Prof. Kenia Kodel
13. Arquivos Sequenciais Indexados
O desenvolvimento de
mecanismos de
armazenamento com
acesso direto tornou
viável transformar antigos
arquivos sequenciais em
arquivos que pudessem
ser acessados também de
forma direta (por meio de
uma chave primária – de
busca).
UFS - DComp - Prof. Kenia Kodel
14. Arquivos Sequenciais Indexados
organização de arquivo
sequencial indexado é
o tipo de organização
tornou viável transformar
antigos arquivos
sequenciais em arquivos
que pudessem ser
acessados também de
forma direta.
UFS - DComp - Prof. Kenia Kodel
15. Arquivos Sequenciais Indexados
Quanto a organização, um arquivo sequencial
indexado equivale à organização sequencial
com duas características adicionais:
r um índice que permite um acesso direto a
registro com uma dada chave, e
área para registro excedentes que
proporciona um meio para adições à base de
dados sem que a necessidade de cópia
deste.
UFS - DComp - Prof. Kenia Kodel
16. Arquivos Sequenciais Indexados
Assim, um arquivo com ISAM (Método de Aceso
Sequencial Indexado) é composto por três áreas:
1. área de índice
2. área primária
3. área de registros excedentes
UFS - DComp - Prof. Kenia Kodel
17. Arquivos Sequenciais Indexados
Na área primária, também denominada área
residente, é onde encontramos os registros de
dados.
UFS - DComp - Prof. Kenia Kodel
19. Arquivos Sequenciais Indexados
Vários níveis de índices podem existir. A proposta
usada no exemplo inicial foi: (a) Mestre; (b)
Cilindro; (c) Trilha e (d) Arquivo; entretanto, nada
impede que a definição dos índices obedeça a
outros critérios de organização.
UFS - DComp - Prof. Kenia Kodel
20. Arquivos Sequenciais Indexados
s índices relacionam chave máxima CMax e endereço
(de índice ou de grupo de dados) que refere-se a
intervalo de chaves existentes entre a entrada (de
índice) anterior e a CMax.
UFS - DComp - Prof. Kenia Kodel
21. Arquivos Sequenciais Indexados
m único Índice de um nível refere-se a vários Índices
(ou blocos de dados) de nível subsequente.
UFS - DComp - Prof. Kenia Kodel
22. Arquivos Sequenciais Indexados
Estes (índices) são projetados (planejados) antes do uso
efetivo do arquivo, e conforme a situação problema e
as condições disponíveis para execução do sistema.
UFS - DComp - Prof. Kenia Kodel
23. Arquivos Sequenciais Indexados
número de chaves distribuídas em cada índice de
mesmo tipo pode ou não ser constante, dependendo do
critério usado para defini-los, os quais, por sua vez
dependem das situações problemas a que se referem.
UFS - DComp - Prof. Kenia Kodel
24. 001
ÍNDICES 1.1
Arquivos Sequenciais Indexados
(de Cilindro)
CHAVE INDICE 1.1.1
MAXIMA (de Trilha)
E XE MPLO
100 010
ÍNDICES 1.1.1 (de Trilha)
198 020
010 020
CHAVE MAXIMA INDICE DE
DADOS
CHAVE MAXIMA INDICE DE
DADOS
247 030
25 011 120 021 395 040
25 -1 120 -1
50 012
142 022
50 -1
142 -1
75 013
75 -1 154 023
100 014 163 025
100 -1 198 024
198 -1 ...
Porque nest índice (imediaa e a er aáeapr áia hádua ent a s
e t ment nt ior r im r ) s r da
r ent à CM x?
efer es s a
UFS - DComp - Prof. Kenia Kodel
25. Arquivos Sequenciais Indexados
ÁREA DE EXCEDENTES No índice
025 (de Dados) imediatamente
anterior à área
CHAVE DADOS
primaria (índice de
155 DADOS 020 Trilha, neste
162 DADOS ÍNDICES 1.1.1 CHAVE
MAXIMA
INDICE DE
DADOS
exemplo), para cada
163 DADOS (de Trilha) 120 021 chave máxima deve
120 -1 haver duas entradas:
uma relaciona o
142 022
endereço da
142 -1
respectiva área
... 154 023 residente de dados e
163 025 outra para endereço
198 024 de possível área de
198 -1 excedentes.
UFS - DComp - Prof. Kenia Kodel
26. Arquivos Sequenciais Indexados
ÁREA DE EXCEDENTES Quando uma chave
025 (de Dados) máxima ainda não
ocupou área de
CHAVE DADOS
excedentes, a
155 DADOS 020 entrada referente
162 DADOS ÍNDICES 1.1.1 CHAVE
MAXIMA
INDICE DE
DADOS a este é setada
163 DADOS (de Trilha) 120 021 com -1.
120 -1
O maior valor da
142 022
chave, fixado no
142 -1
... projeto do arquivo,
154 023
é mantido,
163 025
inicialmente na
198 024
entrada principal
198 -1
e, a posteriori, na
de excedentes.
UFS - DComp - Prof. Kenia Kodel
27. Arquivos Sequenciais Indexados
E XE MPLO
ÍNDICES 1.1.1 (de Trilha)
010
CHAVE INDICE DE
020
CHAVE INDICE DE
070
CHAVE INDICE DE
MAXIMA DADOS MAXIMA DADOS MAXIMA DADOS
25 011 120 021 830 071
25 -1 120 -1
área de excedentes não usada
50 012 142 022 830 -1
50 -1 142 -1 ... 865 072
75 013 154 023 865 -1
75 -1 163 025 área de 933
excedentes073
usada
100 014 198 024
933 -1
100 -1 198 -1 ...
UFS - DComp - Prof. Kenia Kodel
28. Que est ut a usaia paa
r ur (s) r m r
impl a os índices?
ement r
UFS - DComp - Prof. Kenia Kodel 28
29. Consider ndo anecessida de ma enç o
a de nut ã
de ba na lde doa es de sa a
se ciona dor ngue,
estut ainicia poder serindexa
r ur l ia da
obt aquiv ISA ?
endo r o M
UFS - DComp - Prof. Kenia Kodel 29
30. Considerando a necessidade de manutenção
de base nacional de doadores de sangue, a
estrutura inicial poderia ser indexada obtendo
arquivo ISAM .
Estrutura(s)
Auxiliar(es)
31. Qua dos ca éo idea paaser
l mpos l r
usa naindexa ã
do ç o?
UFS - DComp - Prof. Kenia Kodel 31
32. Que busca podem serefet da
s ua s
em aquiv sequencia
r os is
indexados?
UFS - DComp - Prof. Kenia Kodel 32
33. Como r l raoper ç o de
eaiza aã
buscaconsulaem aquiv
/ t r os
sequencia indexa
is dos?
UFS - DComp - Prof. Kenia Kodel 33
34. Consulta em Arquivos
Sequenciais Indexados
O acesso a um arquivo ISAM pode ser feito de forma sequencial
ou da forma direta. Quando a forma de acesso é
sequencial, os registros são recuperados basicamente da
mesma forma como o são nos arquivos sequenciais. Com
somente duas diferenças:
1. se total, este é efetuado estritamente sobre a área
primária
UFS - DComp - Prof. Kenia Kodel
35. Consulta em Arquivos
Sequenciais Indexados
CONT : O acesso a um arquivo ISAM pode ser feito de forma sequencial ou da forma
INUA
direta. Quando a forma de acesso é sequencial, os registros são recuperados
basicamente da mesma forma como o são nos arquivos sequenciais. Com somente
duas diferenças:
2. o processo de varredura pode ter início em qualquer registro, o qual,
por sua vez acessado de forma direta, a partir da área de índice
UFS - DComp - Prof. Kenia Kodel
36. Consulta em Arquivos
Sequenciais Indexados
Quando o modo de acesso é direto, o valor da chave primária é
fornecido ao sistema e, então, esta é traduzida para uma
“classe de endereços”, onde esta pode ser “rapidamente”
encontrada; ou até no próprio endereço de localização da
chave dada, neste caso o último índice assemelha-se a um
“dicionário de dados”.
UFS - DComp - Prof. Kenia Kodel
37. Arquivos Sequenciais Indexados
Durante o processo de busca, os índices podem ser
trazidos para a memória principal para otimizar o
processo.
UFS - DComp - Prof. Kenia Kodel
38. Como r l ro pr
eaiza ocesso de
buscaàcha e 14 no aquiv
v 7 r o
sequencia indexa da como
l do do
exemplo?
UFS - DComp - Prof. Kenia Kodel 38
39. Consulta em Arquivos
Sequenciais Indexados
Para estudo da operação de busca de dados em arquivos
ISAM, tomemos como exemplo a necessidade de
alteração dos dados do registro de chave 147.
1. O Índice Mestre é pesquisado. Como a chave pesquisada 147 é
inferior a 395, a busca continua seguindo para o endereço 001 onde
há um Índice de Cilindro. Já caso a chave procurada fosse 1315, o
processo de busca seria conduzido ao endereço 003.
2. Pesquisando o Índice de Cilindro IC, percebe-se que o processo de
busca deve ter continuidade no endereço 020, já que a chave
procurada 147 é superior a 100 que corresponde à chave máxima
da primeira entrada de IC, mas é inferior a 198 (2ª entrada de IT) a
qual seta para o endereço 020.
3. No endereço 020 há um Índice de Trilha, onde o processo de busca
é efetuado segundo os mesmos critérios acima descritos, e localiza-
se o endereço 023.
4. No endereço 023, Área Primária, após busca, localiza-se a chave
procurada 147 e seus respectivos dados.
40. Além da consulta, que
outras operações são
necessárias para
manutenção de dados
mantidos em arquivos
sequenciais indexados?
UFS - DComp - Prof. Kenia Kodel
42. Como r l raoper ç o de
eaiza aã
inser ã em aquiv sequencia
ç o r os is
indexados?
UFS - DComp - Prof. Kenia Kodel 42
43. Inclusão em Arquivos
Sequenciais Indexados
• Quando um registro é adicionado a um arquivo ISAM, a área
primária na qual este deve residir é definida pelo método de
acesso ISAM (descrito na consulta, efetuado sobre os
índices).
• A adição pode ser realizada: (1) na própria área primária
indicada pelo método supracitado; ou, havendo estouro
desta, (2) em área de excedentes, quando deve haver
ajuste do Índice de Trilha correspondente.
• Qualquer adição, seja em área residente, ou de excedentes,
deve preservar a ordem dos registros.
Inser cha es 20, 16e 153
ir v
UFS - DComp - Prof. Kenia Kodel
44. Como r l raoper ç o de
eaiza aã
excl ã em aquiv sequencia
us o r os is
indexados?
UFS - DComp - Prof. Kenia Kodel 44
45. Exclusão em Arquivos
Sequenciais Indexados
• Os registros excluídos não são removidos fisicamente do arquivo
ISAM, em vez disto, eles são marcados. Posteriormente, os
espaços livres gerados por estes são sobrescritos quando há
necessidade de deslocamento de registros para preservação da
ordem dos dados, sejam em remoções ou inserções.
• Vale esclarecer que: (1) se um registro marcado (excluído) é
forçado a sair da sua trilha primária durante uma atualização, este
não é gravado na área de registro excedentes, é simplesmente
ignorado; (2) a remoção física também pode ser efetuada pela
reorganização do arquivo a qual pode ser conseguida copiando-se
sequencialmente os registros do arquivo, com exceção de todos
os registros marcados.
R ercha es 19, 154e 163 Inser 14e 14
emov v . ir 8
UFS - DComp - Prof. Kenia Kodel
46. Como r l ro pr
eaiza ocesso de
at a ã em aquiv sequencia
ler ç o r os is
indexados?
UFS - DComp - Prof. Kenia Kodel 46
47. Arquivos Sequenciais Indexados
• Vale lembrar que a
organização de arquivos
do tipo sequencial
indexado foi criado para
ser um método de acesso
e não uma estrutura de
dados.
• Este método é estudado
para despertar inspirações
acerca das múltiplas
formas de acesso a uma
mesma base de dados.
UFS - DComp - Prof. Kenia Kodel
48. Arquivos Seqüenciais Indexados
EXERCÍCIOS [Resolver em sala?]
(1) Descreva processo de consulta a múltiplos registros em que
o processo deve ter início numa dada chave C dada?
(2) Partindo inicialmente da base de dados apresentada,
esquematize, em ordem, as seguintes operações:
1. inserção dos registros de chave 22, 24 e 155
2. remoção dos registros de chave 19 e 163
3. inclusão dos registros de chave 14 e 152
(3) Considerando a base de dados apresentada neste,
esquematize um possível Índice de Trilha residente no
endereço 40:
UFS - DComp - Prof. Kenia Kodel
49. Consider ndo aba de da a
a se dos present danest
a e,
esquemaize um possv Índice de Til resident
t í el r ha e
no endereç 4 :
o 0
C uidando
do
jardim!!!
UFS - DComp - Prof. Kenia Kodel
50. Pat daba de da a
rindo se dos present dacomo exempl inicia, esquemaize, em
a o l t
ordem, a seguint oper ç es:
s es a õ
1. inserçã dos registros de cha e 22, 24e 155
o v
2. remoçã dos registros de cha e 19e 163
o v
3. inclusã dos registros de cha e 14e 152
o v
C uidando
do
jardim!!!
UFS - DComp - Prof. Kenia Kodel
51. Descrev processo de consulaamút os regist em que o
a t lipl ros
e er í
processo dev t incio numada cha e Cda :
da v da
C uidando
do
jardim!!!
UFS - DComp - Prof. Kenia Kodel
52. Complementar
Estudos...
File Organization and Processing
Allan L Tharp
Capítulo 4
Indexed Sequential
File Organization
52 UFS - DComp - Prof. Kenia Kodel
53. Próximo passo...
Arquivos Diretos
Recuper ç o de Cha e Secundáia-
aã v r
M t ist
ulil a
UFS - DCOMP - Prof. Kenia 53
Kodel