arquivos sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · aula 04...
TRANSCRIPT
![Page 1: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/1.jpg)
Arquivos Sequenciais
Aula 04
Estrutura de Dados II
UFS - DComp – Adaptados a partir do material da Profa. Kenia Kodel Cox
![Page 2: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/2.jpg)
Existem basicamente 3 tipos de arquivo:
1. Sequenciais
2. Sequenciais Indexados
3. Direto
Com quais tipos de arquivo você já trabalhou?
2
![Page 3: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/3.jpg)
Que tipo de arquivo usamos na implementação do cadastro de
medicamentos de uma farmácia?
3
![Page 4: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/4.jpg)
O que é um arquivo
sequencial?
4
![Page 5: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/5.jpg)
O que é Arquivo Sequencial?
Num arquivo sequencial a
organização de seus itens se faz de
forma que para acessar um
determinado registro é necessário
varrer todos os que o
antecedem.
5
![Page 6: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/6.jpg)
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
6
![Page 7: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/7.jpg)
Como podem ser organizados
(arranjados) os registros de
composição dos arquivos
sequenciais? Ordenados?
Desordenados?
7
![Page 8: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/8.jpg)
Como organizar os registros de Arquivos Sequencial? Arquivos sequenciais podem ser:
1. Desordenados
2. Ordenados, por chave(s)
2.1. Fisicamente
2.2. Por links (lógica)
8
![Page 9: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/9.jpg)
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
9
![Page 10: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/10.jpg)
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
10
![Page 11: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/11.jpg)
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
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
Os d
ados inic
iais
são p
reserv
ados.
11
![Page 12: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/12.jpg)
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
12
![Page 13: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/13.jpg)
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
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
Os d
ados inic
iais
são p
reserv
ados.
13
![Page 14: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/14.jpg)
Há vantagens em manter arquivos
sequenciais ordenados por links?
Há desvantagens? Justifique:
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?
14
![Page 15: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/15.jpg)
Há vantagens em manter arquivos sequenciais
ordenados por links? Há desvantagens? Justifique:
Em relação aos arquivos sequenciais ordenados fisicamente:
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 CONSULTA requer o 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... 15
![Page 16: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/16.jpg)
Que operações são úteis na
manipulação de arquivos
sequenciais desordenados?
16
![Page 17: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/17.jpg)
Operações sobre Arquivos Sequenciais
São 6 as principais operações “clássicas” realizadas sobre arquivos:
1. Inserção (de dados)
2. Remoção (de dados)
3. Consulta (a dados)
4. Alteração (de dados)
5. Classificação (dos dados)
6. Recuperação (transferência para memória principal)
Arquivo Sequencial
Inserção
Classificação
Remoção Consulta
Alteração
Recuperação
17
![Page 18: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/18.jpg)
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;
E se for necessário impedir a redundância
de dados?
Inserção em
Arquivos Sequenciais Desordenados
Há situação em que não é necessário checar, e impedir, a
redundância de dados? 18
![Page 19: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/19.jpg)
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;
E se necessário reaproveitar os espaços gerados pela
exclusão lógica?
Por que reaproveitar os espaços gerados pela
exclusão lógica?
Inserção em
Arquivos Sequenciais Desordenados
19
![Page 20: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/20.jpg)
Como efetuar remoção
em arquivo sequencial
desordenado?
20
![Page 21: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/21.jpg)
Remoção em Arquivos
Sequenciais Desordenados
Requer do programador cuidado com os
espaços livres.
Considerando o tamanho da memória secundária, é realmente necessário
cuidado com os espaços livres?
21
![Page 22: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/22.jpg)
Remoção em Arquivos
Sequenciais Desordenados
SIM! Por quê?
(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) Além de lenta, depende do posicionamento do
dispositivo de leitura/gravação, o que é influenciado
pelos espaços livres entre registros válidos.
22
![Page 23: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/23.jpg)
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)
23
![Page 24: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/24.jpg)
Remoção Lógica
Um dos campos é usado para invalidar (com valor específico) o registro.
Remoção Física
REGISTRO A REGISTRO
Para cada exclusão, é feita a cópia de todos os registros do arquivo de dados, exceto do
registro excluído.
EM LOTE
A cópia do arquivo é efetuada após a remoção lógica de
diversos registros. Ou seja, um lote (grupo) de registros é
ignorado na cópia do arquivo.
Qual O MELHOR “tipo” de remoção?
Como saber que (quando) está na hora de efetuar a remoção física em lote?
Remoção em Arquivos
Sequenciais Desordenados
24
![Page 25: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/25.jpg)
Remoção Lógica
Remoção Física
Em Lote
Com reaproveitamento do espaço livre em
inclusões posteriores.
Sem reaproveitamento
de espaços.
Registro a registro.
Lote mantido de forma lógica, em arquivo de
dados.
Lote mantido em
arquivo auxiliar.
Remoção em Arquivos
Sequenciais Desordenados
25
![Page 26: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/26.jpg)
Remoção Lógica
Remoção Física
Em Lote
Com reaproveitamento do espaço livre em
inclusões posteriores.
Sem reaproveitamento
de espaços.
Registro a registro.
Lote mantido de forma lógica, em arquivo de
dados.
Lote mantido em
arquivo auxiliar.
Isto afeta o tempo de processamento da inclusão, em relação à que é efetuada em final de arquivo?
Remoção em Arquivos
Sequenciais Desordenados
26
![Page 27: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/27.jpg)
Remoção Lógica
Remoção Física
Em Lote
Com reaproveitamento do espaço livre em
inclusões posteriores.
Sem reaproveitamento
de espaços.
Registro a registro.
Lote mantido de forma lógica, em arquivo de
dados.
Lote mantido em
arquivo auxiliar.
Como identificar se há registro a ser reaproveitado e qual a posição deste?
Remoção em Arquivos
Sequenciais Desordenados
27
![Page 28: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/28.jpg)
Remoção Lógica
Remoção Física
Em Lote
Com reaproveitamento do espaço livre em
inclusões posteriores.
Sem reaproveitamento
de espaços.
Registro a registro.
Lote mantido de forma lógica, em arquivo de
dados.
Lote mantido em
arquivo auxiliar.
Convém não aproveitar espaços? NUNCA devemos deixar de reaproveitar espaços?
Remoção em Arquivos
Sequenciais Desordenados
28
![Page 29: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/29.jpg)
Remoção Lógica
Remoção Física
Em Lote
Com reaproveitamento do espaço livre em
inclusões posteriores.
Sem reaproveitamento
de espaços.
Registro a registro.
Lote mantido de forma lógica, em arquivo de
dados.
Lote mantido em
arquivo auxiliar.
O tempo de processamento desta difere do tempo de processamento da remoção lógica?
Remoção em Arquivos
Sequenciais Desordenados
29
![Page 30: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/30.jpg)
Remoção Lógica
Remoção Física
Em Lote
Com reaproveitamento do espaço livre em
inclusões posteriores.
Sem reaproveitamento
de espaços.
Registro a registro.
Lote mantido de forma lógica, em arquivo de
dados.
Lote mantido em
arquivo auxiliar.
Há vantagens desta em relação à remoção lógica? Considerar os efeitos desta sobre as outras operações.
Remoção em Arquivos
Sequenciais Desordenados
30
![Page 31: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/31.jpg)
Remoção Lógica
Remoção Física
Em Lote
Com reaproveitamento do espaço livre em
inclusões posteriores.
Sem reaproveitamento
de espaços.
Registro a registro.
Lote mantido de forma lógica, em arquivo de
dados.
Lote mantido em
arquivo auxiliar.
Há vantagens deste em relação à remoção física registro à registro?
Remoção em Arquivos
Sequenciais Desordenados
31
![Page 32: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/32.jpg)
Remoção Lógica
Remoção Física
Em Lote
Com reaproveitamento do espaço livre em
inclusões posteriores.
Sem reaproveitamento
de espaços.
Registro a registro.
Lote mantido de forma lógica, em arquivo de
dados.
Lote mantido em
arquivo auxiliar.
Há vantagens, e/ou desvantagens, entre as duas forma de manutenção do lote?
Remoção em Arquivos
Sequenciais Desordenados
32
![Page 33: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/33.jpg)
Remoção Lógica
Remoção Física
Em Lote
Com reaproveitamento do espaço livre em
inclusões posteriores.
Sem reaproveitamento
de espaços.
Registro a registro.
Lote mantido de forma lógica, em arquivo de
dados.
Lote mantido em
arquivo auxiliar.
A remoção física por lote afeta alguma outra operação?
Remoção em Arquivos
Sequenciais Desordenados
33
![Page 34: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/34.jpg)
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;
...
feche Arquivo; É necessário que a varredura do arquivo seja
efetuada mesmo após a realização da exclusão?
Remoção em Arquivos
Sequenciais Desordenados
34
![Page 35: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/35.jpg)
Exemplos
Construir programa para efetuar a remoção
física de registros em arquivo sequencial
desordenado:
a) registro a registro
b) em lote
35
![Page 36: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/36.jpg)
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 not eof(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.}
...
36
![Page 37: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/37.jpg)
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 not eof(Arq) do
begin
read(Arq,Reg);
if Reg.Chave <> ‘INVALIDA’ then
write(Novo,Reg);
end;
erase(Arq);
rename(Novo,’Doadores.dat’);
... 37
![Page 38: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/38.jpg)
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?
38
![Page 39: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/39.jpg)
Como efetuar busca (consulta,
pesquisa) em arquivo
sequencial desordenado?
39
![Page 40: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/40.jpg)
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.
40
![Page 41: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/41.jpg)
Depende da organização do arquivo.
Trata-se de uma “operação-fim” da
computação merecendo atenção
redobrada do programador.
Busca em Arquivo
Sequencial Desordenado
41
![Page 42: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/42.jpg)
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;
...
feche Arquivo;
Neste observa-se a aplicação da busca sequencial.
Poderia ser aplicada a busca binária? 42
![Page 43: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/43.jpg)
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;
...
feche Arquivo;
Se desejássemos implementar a busca a partir do TIPO SANGUÍNEO, que ajustes efetuar?
Busca Total em Arquivo
Sequencial Desordenado
43
![Page 44: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/44.jpg)
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
Analisando a situação problema, que consultas (não totais) disponibilizar?
Para todas as consultas propostas, o processo de execução deve ser interrompido ao se
localizar o primeiro registro que a atende? 44
![Page 45: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/45.jpg)
Como efetuar alteração
em arquivo sequencial
desordenado?
45
![Page 46: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/46.jpg)
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
46
![Page 47: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/47.jpg)
Alteração em Arquivo
Sequencial Desordenado
Analisando a situação problema, que alterações disponibilizar?
Convém efetuar ajustes sobre chaves primárias – aquelas que identificam unicamente o registro?
47
![Page 48: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/48.jpg)
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;
48
![Page 49: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/49.jpg)
Estudamos todas as operações “classicamente” aplicadas para
manipulação de dados mantidos em arquivos sequenciais
(desordenados)?
Arquivo Sequencial
Inserção
Classificação
Remoção Consulta
Alteração
Recuperação
49
![Page 50: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/50.jpg)
Quando aplicar
arquivos sequenciais
desordenados?
50
![Page 51: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/51.jpg)
O único tipo de consulta possível em arquivos sequenciais desordenados é a
consulta sequencial, O(n); enquanto há consultas clássicas O(log n).
Então somente se deve aplicar quando não
há preocupação com qualidade, com tempo de processamento?
51
![Page 52: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/52.jpg)
Aplicação de Arquivo
Sequencial Desordenado
Arquivos sequenciais desordenados são
aplicados na implementação de aplicações
cujo tempo destinado ao desenvolvimento
é curto.
Por quê?
52
![Page 53: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/53.jpg)
Aplicação de Arquivo
Sequencial Desordenado
Arquivos sequenciais desordenados são
aplicados para manter poucos dados, mas
de forma permanente.
Por quê?
53
![Page 54: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/54.jpg)
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
54
![Page 55: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/55.jpg)
Como executar, e qual o custo, de cada uma das operações citadas, sobre um arquivo
sequencial desordenado aplicado para manter um extrato bancário?
Arquivo Sequencial
Inserção
Classificação
Remoção Consulta
Alteração
Recuperação
55
![Page 56: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/56.jpg)
Arquivo Sequencial
Desordenado
Pensando em uso de espaço de armazenamento, na efetiva implementação da situação problema dada,
convém armazenar “as barras das datas” e “os parênteses e pontos dos telefones”? Justifique:
56
![Page 57: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/57.jpg)
Complementar Estudos...
File Organization and Processing
Allan L Tharp
Capítulo 2 Sequential File Organization
57
![Page 58: Arquivos Sequenciaisalbertocn.sytes.net/2012-2/ed2si/aulas/04-arquivos-sequenciais.pdf · Aula 04 Estrutura de Dados II UFS - DComp ... 1 Zé A + 12/12/03 (79)223.1542 80 2 Beto B](https://reader033.vdocuments.pub/reader033/viewer/2022050520/5fa34150e0302d34db546a04/html5/thumbnails/58.jpg)
Arquivos Sequenciais
Ordenados Arquivos fisicamente ordenados. Arquivos ordenados por links. Operações de manipulação destes. Aplicações destes.
Próximo passo...
58