EDII04 [2012.1] Arquivos Sequenciais [Definição e Desordenado]
1. Arquivos
Sequenciais
Estrutura de Dados II
Unida 0
de 4
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. Estudamos que existem três
principais tipos de arquivo:
2.Sequenciais
3.Sequenciais Indexados
4.Direto
Com qua t de aquiv v êj
is ipos r o oc á
ta l
r bahou?
5. Estudamos que existem três
principais tipos de arquivo:
2.Sequenciais
3.Sequenciais Indexados
4.Direto
Que t de aquiv usa naimpl a ã do
ipo r o mos ement ç o
ca st o de medica os de umafamá ?
da r ment r cia
7. O que é Arquivo Sequencial?
Num arquivo sequencial a
organização de seus itens faz-se
de forma que para acessar um
determinado registro é
necessário varrer todos os que o
antecedem.
8. O que é Arquivo Sequencial?
É a mais conhecida e usada
organização de arquivo.
Apresenta as mais simples (com baixa
complexidade de programação)
implementações de operações básicas:
(a) inserção, (b) remoção, (c) consulta
9. omo podem serorga dos (ar nj dos)os regist
niza ra a ros
de composiç o dos a os sequencia Ordena
ã rquiv is? dos?
Desordenados?
10. Como organizar os registros
de Arquivos Sequencial?
Arquivos sequenciais podem ser:
2. Desordenados
3. Ordenados, por chave(s)
2.1. Fisicamente
2.2. Por links (lógica)
11. Arquivo Sequencial Desordenado
PACIENTE SANGUE RH DOAÇÃO CONTATO PESO
1 Zé A + 12/12/03 (79)223.1542 80
2 Beto B - 12/10/02 (79)8801.2017 70
3 Clô O + 11/09/04 (79)9941.1388 72
4 Gil AB - 02/02/05 (81)2212.6711 95
5 Sara A - 10/01/04 (11)2213.0909 73
12. Arquivo Sequencial Ordenado Fisicamente
PACIENTE
SANGUE RH DOAÇÃO CONTATO PESO
1 Beto B - 12/10/02 (79)8801.2017 70
2 Clô O + 11/09/04 (79)9941.1388 72
3 Gil AB - 02/02/05 (81)2212.6711 95
4 Sara A - 10/01/04 (11)2213.0909 73
5 Zé A + 12/12/03 (79)223.1542 80
13. Arquivo Sequencial Ordenado Fisicamente
PACIENTE
SANGUE RH DOAÇÃO CONTATO PESO
1 Beto B - 12/10/02 (79)8801.2017 70
2 Clô O + 11/09/04 (79)9941.1388 72
3 Gil AB - 02/02/05 (81)2212.6711 95
4 Sara A - 10/01/04 (11)2213.0909 73
5 Zé A + 12/12/03 (79)223.1542 80
são preservados.
Os dados iniciais
PACIENTE SANGUE RH DOAÇÃO CONTATO PESO
1 Zé A + 12/12/03 (79)223.1542 80
2 Beto B - 12/10/02 (79)8801.2017 70
3 Clô O + 11/09/04 (79)9941.1388 72
4 Gil AB - 02/02/05 (81)2212.6711 95
5 Sara A - 10/01/04 (11)2213.0909 73
14. Arquivo Sequencial Ordenado por Link
PACIENTE SANGUE RH DOAÇÃO CONTATO PESO LINK
0 2
1 Zé A + 12/12/03 (79)223.1542 80 -1
2 Beto B - 12/10/02 (79)8801.2017 70 3
3 Clô O + 11/09/04 (79)9941.1388 72 4
4 Gil AB - 02/02/05 (81)2212.6711 95 5
5 Sara A - 10/01/04 (11)2213.0909 73 1
15. Arquivo Sequencial Ordenado por Link
PACIENTE SANGUE RH DOAÇÃO CONTATO PESO LINK
0 2
1 Zé A + 12/12/03 (79)223.1542 80 -1
2 Beto B - 12/10/02 (79)8801.2017 70 3
3 Clô O + 11/09/04 (79)9941.1388 72 4
4 Gil AB - 02/02/05 (81)2212.6711 95 5
5 Sara A - 10/01/04 (11)2213.0909 73 1
são preservados.
Os dados iniciais
PACIENTE SANGUE RH DOAÇÃO CONTATO PESO
1 Zé A + 12/12/03 (79)223.1542 80
2 Beto B - 12/10/02 (79)8801.2017 70
3 Clô O + 11/09/04 (79)9941.1388 72
4 Gil AB - 02/02/05 (81)2212.6711 95
5 Sara A - 10/01/04 (11)2213.0909 73
16. áv nt gens em ma era os sequencia
aa nt rquiv is
dos inks? Hádesv nt gens? J ifique:
ordena porl aa ust
Vantagens em relação a que outra organização?
Em relação a que critérios? Uso de espaço de
armazenamento? Exploração de tempo de
processamento nas operações básicas?
17. áv nt gens em ma era os sequencia ordena porl
aa nt rquiv is dos inks? Hádesv nt gens?
aa
Emifique:
J relação aos arquivos sequenciais ordenados
ust
fisicamente temos: Vantagem: A operação de
INSERÇÃO é efetuada sem movimentação de registros o
que implica em economia de tempo de processamento.
Desvantagens: (a) A operação de CONSULTA implica
na necessidade de posicionamento do dispositivo de
leitura de acordo com o endereços apontados pelos links,
o que demanda maior tempo de processamento. (b) É
preciso reservar espaço para manter os links o que exige
maior demanda de espaço de armazenamento.
Em relação aos arquivos sequenciais desordenados...
18. ue oper ç es sã úeis nama a ã de
aõ o t nipul ç o
a os sequencia desordena
rquiv is dos?
19. Operações sobre Arquivos Sequenciais
São seis as principais operações
“clássicas” realizadas sobre
arquivos:
• Inserção (de dados)
• Remoção (de dados)
• Consulta (a dados)
• Alteração (de dados)
• Classificação (dos dados)
• Recuperação (transferência para memória principal)
20. st s oper ç es esgot m a
a aõ a s
necessida de ma a ã de
de nipul ç o
da ma idos em aquiv
dos nt r os
sequencia is?
21. omo efet rins erção em
ua
a o sequencia desordena
rquiv l do?
22. Inserção em Arquivos
Sequenciais Desordenados
Novos registros são inseridos no final.
associe Arquivo a ‘Doadores.dat’;
abra Arquivo;
...
leiaReg NovoReg; {leitura dos campos do novo registro}
posicione em tamanho-arquivo; {1ª posição livre}
grave NovoReg em Arquivo;
...
feche Arquivo;
Ese fornecessáio impedira
r
r â de da
edund ncia dos?
23. Inserção em Arquivos
Sequenciais Desordenados
Novos registros são inseridos no final.
associe Arquivo a ‘Doadores.dat’;
abra Arquivo;
...
leiaReg NovoReg; {leitura dos campos do novo registro}
posicione em tamanho-arquivo; {1ª posição livre}
grave NovoReg em Arquivo;
...
feche Arquivo;
Hásit ç o em que nã énecessáio checa , e
ua ã o r r
impedir ar â de da
, edund ncia dos?
24. Inserção em Arquivos
Sequenciais Desordenados
Novos registros são inseridos no final.
associe Arquivo a ‘Doadores.dat’;
abra Arquivo; Ese necessáio r pr eit ros espaos
r ea ov a ç
... ger dos pel excl ã l gica
a a us o ó ?
leiaReg NovoReg; {leitura dos campos do novo registro}
posicione em tamanho-arquivo; {1ª posição livre}
grave NovoReg em Arquivo; ç a
Porque r pr eit ros espaos ger dos
ea ov a
... pel excl ã l gica
a us o ó ?
feche Arquivo;
SE PR épr r pr eit ros espaos
M E eciso ea ov a ç
ger dos pel excl ã l gica
a a us o ó ?
26. Remoção em Arquivos
Sequenciais Desordenados
Requer do programador
cuidado com os espaços
livres.
Consider ndo o t ma damemóiasecundáia ér l e
a a nho r r , eament
necessáio cuida com os espaos l r
r do ç ives?
27. Remoção em Arquivos
Sequenciais Desordenados
SIM, a referida operação requer do programador cuidado
com os espaços livres; pois: (a) apesar da grande
capacidade de armazenamento de dados, a memória
secundária é usada para manter também grande volume
de dados, passíveis de remoções; (b) e esta é lenta,
dependente de posicionamento do dispositivo de leitura/
gravação, o que é comprometido pela ocorrência de
espaço livres entre registros válidos.
28. Remoção em Arquivos
Sequenciais Desordenados
Pode ser:
1. Remoção Lógica
2. Remoção Física
2.1. Registro a registro
2.2. Em lote (Compactação)
29. Remoção em Arquivos
Sequenciais Desordenados
Qua OM L
l E HOR “t de r ç o?
ipo” emo ã
ber ndo) á
Como sa que (qua est nahor de
a
efet rar ç o fsicaem l e?
ua emo ã í ot
30. Remoção em Arquivos
Sequenciais Desordenados
Remoção Lógic a Remoção Fís ica
Com
reaproveitamento Em Lote
do espaço livre
em inclusões Lote mantido
Lote
de forma
posteriores. lógica, em
mantido em
arquivo de arquivo
dados. auxiliar.
Sem
reaproveitamento
de espaços. Registro
a registro.
31. Remoção em Arquivos
Sequenciais Desordenados
Remoção Lógic a Remoção Fís ica
Com
reaproveitamento Em Lote
do espaço livre
em inclusões Lote mantido
Lote
de forma
posteriores. lógica, em
mantido em
arquivo de arquivo
dados. auxiliar.
Sem
reaproveitamento
de espaços. Registro
a registro.
o fet empo ocessa o daincl ã em r a ã àque éefet daem fina
Ist a ao t de pr ment us o, el ç o ua l
de aquiv
r o?
32. Remoção em Arquivos
Sequenciais Desordenados
Remoção Lógic a Remoção Fís ica
Com
reaproveitamento Em Lote
do espaço livre
em inclusões Lote mantido
Lote
de forma
posteriores. lógica, em
mantido em
arquivo de arquivo
dados. auxiliar.
Sem
reaproveitamento
de espaços. Registro
a registro.
Como ident rse hár r aserr pr eit do e qua aposiç o
ifica egisto ea ov a l ã
dest
e?
33. Remoção em Arquivos
Sequenciais Desordenados
Remoção Lógic a Remoção Fís ica
Com
reaproveitamento Em Lote
do espaço livre
em inclusões Lote mantido
Lote
de forma
posteriores. lógica, em
mantido em
arquivo de arquivo
dados. auxiliar.
Sem
reaproveitamento
de espaços. Registro
a registro.
Conv m nã a ov a espaos?
é o pr eit r ç NUNCAdev deixa de
emos r
ea ov a ç
r pr eit respaos?
34. Remoção em Arquivos
Sequenciais Desordenados
Remoção Lógic a Remoção Fís ica
Com
reaproveitamento Em Lote
do espaço livre
em inclusões Lote mantido
Lote
posteriores. de forma
lógica, em
mantido em
arquivo de arquivo
dados. auxiliar.
Sem
reaproveitamento
de espaços.
Registro
a registro.
Ot de pr
empo ocessa o dest difer do t de pr
ment a e empo ocessa o dament
r ç o l gica
emo ã ó ?
35. Remoção em Arquivos
Sequenciais Desordenados
Remoção Lógic a Remoção Fís ica
Com
reaproveitamento
do espaço livre
Em Lote
em inclusões
Lote mantido
posteriores. Lote
de forma
lógica, em
mantido em
arquivo de arquivo
dados. auxiliar.
Sem
reaproveitamento
de espaços.
Registro
a registro.
Háv nt gens dest em r a ã àr ç o l gica Consideraros efeitos desta
aa a el ç o emo ã ó ?
sobr a out a oper ç es.
e s r s aõ
36. Remoção em Arquivos
Sequenciais Desordenados
Remoção Lógic a Remoção Fís ica
Com
reaproveitamento Em Lote
do espaço livre
em inclusões Lote mantido
Lote
de forma
posteriores. lógica, em
mantido em
arquivo de arquivo
dados. auxiliar.
Sem
reaproveitamento
de espaços. Registro
a registro.
Háv nt gens dest em r a ã àr ç o fsicar r àr r
aa e el ç o emo ã í egisto egisto?
37. Remoção em Arquivos
Sequenciais Desordenados
Remoção Lógic a Remoção Fís ica
Com
reaproveitamento Em Lote
do espaço livre Lote
em inclusões mantido de Lote
posteriores. forma mantido
lógica, em em arquivo
arquivo de auxiliar.
dados.
Sem
reaproveitamento
de espaços. Registro
a registro.
Háv nt gens, e/ desv nt gens, ente a dua for de
aa ou a a r s s ma
ma enç o do l e?
nut ã ot
38. Remoção em Arquivos
Sequenciais Desordenados
Remoção Lógic a Remoção Fís ica
Com
reaproveitamento Em Lote
do espaço livre
em inclusões Lote mantido
Lote
de forma
posteriores. lógica, em
mantido em
arquivo de arquivo
dados. auxiliar.
Sem
reaproveitamento
de espaços. Registro
a registro.
Ar ç o fsicaporl e a aagumaouta
emo ã í ot fet l r
oper ç o?
aã
39. Remoção Lógica em
Arquivo Sequencial Desordenado
associe Arquivo a ‘Doadores.dat’;
abra Arquivo;
...
leia Paciente; {doador a ser excluído}
enquanto não fim(Arquivo) faça
inicio
leia(Arquivo,Reg);
se Reg.Paciente = Paciente então
início
Reg.Paciente := ‘XXX’;
posicione(Arquivo,posicao(Arquivo)-1);
grave(Arquivo,Reg);
fim;
fim;
... Énecessáio que av redur do aquiv sej efet damesmo a ó a
r ar a r o a ua ps
feche Arquivo; r l ç o daexcl ã
eaiza ã us o?
40. Construir programa para efetuar a
remoção física de registros em
arquivo sequencial desordenado:
a) registro a registro
b) em lote
C uidando
do
jardim!!!
41. Construir programa para efetuar a remoção física de registros em arquivo
sequencial desordenado: (a) registro a registro.
...
seek(Arq,0); {Arquivo original}
seek(Novo,0);
while note of(Arq) do
begin
read(Arq,Reg);
if Reg.Chave <> ChaveExcluir then
write(Novo,Reg);
end;
erase(Arq);
rename(Novo,’Doadores.dat’);
{Usar nome externo do arquivo original.}
...
C uidando
do
jardim!!!
42. Construir programa para efetuar a remoção física de registros em arquivo
sequencial desordenado: (b) em lote
{Considerando o lote composto no próprio arquivo
original, pelo conjunto dos registros
invalidados em exclusão lógica}
...
seek(Arq,0); {arquivo original}
seek(Novo,0); {arquivo vazio}
while note of(Arq) do
begin
read(Arq,Reg);
if Reg.Chave <> ‘INVALIDA’ then
write(Novo,Reg);
end;
erase(Arq);
rename(Novo,’Doadores.dat’);
...
C uidando
do
jardim!!!
43. Considerando que um programador optou por
efetuar a remoção lógica, em aplicação de
manipulação de arquivo sequencial desordenado.
Há formas de reaproveitar os espaços livres gerados
nesta a partir da execução das outras operações de
manipulação de dados? Justifique sua resposta:
Construir, coletivamente, resposta
escrita.
C uidando
do
jardim!!!
45. Busca em Arquivo
Sequencial Desordenado
Consiste em exibir os campos:
1. De um registro referente a uma
dada chave – busca específica.
2. De todos os registros do arquivo –
busca total.
46. Busca em Arquivo
Sequencial Desordenado
Depende a organização do arquivo.
Trata-se de uma “operação-fim” da
computação merecendo atenção
redobrada do programador.
47. Busca Total em Arquivo
Sequencial Desordenado
Em arquivo onde não se aplica remoções lógicas.
associe Arquivo a ‘Doadores.dat’;
abra Arquivo;
...
posicione no início do arquivo;
enquanto não fim(Arquivo) faça
inicio
leia Reg do Arquivo;
exibaReg Reg; {exibição dos dados contidos nos campos do registro}
fim;
...
Nest obser ase aa ica ã dabuscasequencia. Poder sera ica a
e v - pl ç o l ia pl da
feche Arquivo; buscabináia
r?
48. Busca Total em Arquivo
Sequencial Desordenado
Em arquivo onde se aplica remoções lógicas.
associe Arquivo a ‘Doadores.dat’;
abra Arquivo;
...
posicione no início do arquivo;
enquanto não fim(Arquivo) faça
inicio
leia Reg do Arquivo;
se valido(Reg) então
exibaReg Reg; {exibição dos dados contidos nos campos do registro}
fim;
... á rir IPO NG Í O,
Se desejssemos impl a abuscaapat do T SA UNE que
ement r
feche Arquivo; aust efet r
j es ua?
49. Busca em Arquivo
Sequencial Desordenado
PACIENTE SANGUE RH DOAÇÃO CONTATO PESO
1 Zé A + 12/12/03 (79)223.1542 80
2 Beto B - 12/10/02 (79)8801.2017 70
3 Clô O + 11/09/04 (79)9941.1388 72
4 Gil AB - 02/02/05 (81)2212.6711 95
5 Sara A - 10/01/04 (11)2213.0909 73
A l ndo asit ç o pr ema que consula (nã t a
naisa ua ã obl , t s o ot is)
disponibil r
iza?
t s opost s, ocesso de execuç o dev ser
Paat s a consula pr a o pr
r oda s ã e
int r
erompido a se l l ro pr o r r que aaende?
o ocaiza imeir egist o t
50. omo efet rat a ã em a o
ua ler ç o rquiv
sequencia desordena
l do?
51. Alteração em Arquivo
Sequencial Desordenado
Para execução desta é necessário:
1. fazer a busca do registro a ser alterado
2. ler os novos dados
3. gravar (sobrescrever) os novos dados
sobre os dados antigos
52. Alteração em Arquivo
Sequencial Desordenado
A l ndo asit ç o pr ema que at a õ disponibil r
naisa ua ã obl , ler ç es iza?
Conv m efet raust sobr cha es pr áia – a a que identifica
é ua j es e v im r s quel s m
unica e o r r
ment egisto?
53. Alteração em Arquivo
Sequencial Desordenado
Alteração da data de doação de um dado paciente.
associe Arquivo a ‘Doadores.dat’;
abra Arquivo;
...
posicione no inicio do Arquivo;
leia Paciente; {nome do doador cujos dados sofrerão alteração}
enquanto não fim(Arquivo) faça
inicio
leia(Arquivo,Reg);
se Reg.Paciente = Paciente então
início
leia Data; {nova data de doação}
Reg.DataDoacao := Data;
posicione(Arquivo,posicao(Arquivo)-1);
grave(Arquivo,Reg);
fim;
fim;
...
feche Arquivo;
54. st mos t s a oper ç es “cl ssica e”
uda oda s a õ a ment
a ica s paama a ã de da ma idos
pl da r nipul ç o dos nt
em a os sequencia (desordena
rquiv is dos)?
55. ua a ica a os
ndo pl r rquiv
sequencia desordena
is dos?
56. ú t de consulapossv em a os
nico ipo t í el rquiv
sequencia desordena éaconsula
is dos t
sequencia, O(n); enqua o háconsula cl ssica
l nt ts á s
og ã
O(l n). Ent o soment se dev a ica qua
e e pl r ndo
nã hápreocupa ã com quaida com t
o ço l de, empo
de processa o?
ment
57. Aplicação de Arquivo
Sequencial Desordenado
Arquivos sequenciais desordenados são
aplicados na implementação de aplicações
cujo tempo destinado ao desenvolvimento
é curto.
Porquê?
58. Aplicação de Arquivo
Sequencial Desordenado
Arquivos sequenciais desordenados são
aplicados para manter poucos dados, mas
de forma permanente.
Porquê?
59. Aplicação de Arquivo
Sequencial Desordenado
Arquivos sequenciais desordenados são
aplicados quando os dados são ordenados
naturalmente, conforme a entrada destes:
arquivos de logs
extratos bancários
extratos/histórico cartão de crédito
60. omo execut r e qua o cust de ca umada
a, l o, da s
oper ç es cit da sobre um a o sequencia
a õ a s, rquiv l
desordena a ica paama erum extao
do pl do r nt rt
ba áio?
nc r
61. Arquivo Sequencial
Desordenado
Pensa em uso de espao de ama ment naefet aimpl a ã da
ndo ç r zena o, iv ement ç o
sit ç o pr emada , conv m ama r“a bar s da daa e “os
ua ã obl da é r zena s ra s t s”
paê eses e pont dos t efones”? J ifique:
r nt os el ust
62. Complementar
Estudos...
File Organization and Processing
Allan L Tharp
Capítulo 2
Sequential File Organization
62 UFS - DComp - Prof. Kenia Kodel
63. Próximo passo...
Arquivos Sequenciais Ordenados
Arquivos fisicamente ordenados. Arquivos
ordenados por links. Operações de manipulação
destes. Aplicações destes.
UFS - DCOMP - Prof. Kenia 63
Kodel