EDII05 [2012.1] Arquivos Sequenciais Ordenados Fisicamente

1,574 views
1,451 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,574
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
29
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

EDII05 [2012.1] Arquivos Sequenciais Ordenados Fisicamente

  1. 1. Arquivos SequenciaisOrdenados Fisicamente Estrutura de Dados IIUnidade 05 UFS - DComp - Prof. Kenia Kodel 1
  2. 2. Flores?O verbo educar éoriginário do latim e querdizer extrair de dentro.Logo, a educação não seconstitui em meroestabelecimento deinformações, mas sim dese trabalhar aspotencialidades do ser, afim de que floresçam. UFS - DComp - Prof. Kenia Kodel 2
  3. 3. O segredo é nãocorrer atrás das borboletas... É cuidar do jardim para que elasvenham até você. . Mário Quintana UFS - DComp - Prof. Kenia Kodel 3
  4. 4. Arquivos SequenciaisPodem ser:1. Desordenados2. Ordenados, por chave(s) 2.1. Fisicamente 2.2. Por links (lógica)
  5. 5. Arquivos SequenciaisOrdenados Fisicamente UFS - DComp - Prof. Kenia Kodel 5
  6. 6. O que é um arquivo sequencial ordenado fisicamente?UFS - DComp - Prof. Kenia Kodel 6
  7. 7. Arquivo Sequencial Ordenado FisicamenteSão arquivos sequenciais, ou seja, o acesso a um determinado registro implica na varredura de todos os itens que o antecedem. E são ordenados pela disposição física dos registros. UFS - DComp - Prof. Kenia Kodel 7
  8. 8. Em aplicações computacionais que manipulam arquivos sequenciais ordenados fisicamente, que operações são úteis para manipulação da respectiva base de dados?UFS - DComp - Prof. Kenia Kodel 8
  9. 9. Operações sobre Arquivos Sequenciais Ordenados1. Inserção2. Remoção3. Consulta4. Alteração5. Classificação?6. Recuperação ? UFS - DComp - Prof. Kenia Kodel 9
  10. 10. Como efetuar inserção em arquivos sequenciais ordenados fisicamente?UFS - DComp - Prof. Kenia Kodel 10
  11. 11. Como efetuar a inserção de FÁ no arquivo dado?UFS - DComp - Prof. Kenia Kodel 11
  12. 12. Inclusão em ArquivosSequenciais Ordenados Fisicamente Em arquivos sequenciais ordenados, na realização de operações de manipulação dos dados mantidos nestes, é preciso preservar a organização do arquivo - ordenada. UFS - DComp - Prof. Kenia Kodel 12
  13. 13. Inclusão em ArquivosSequenciais Ordenados Fisicamente Para efetuar inserções nos arquivos sequenciais ordenados, as soluções clássicas são: 1. A cada nova inserção, copiar o arquivo original até o ponto de inserção, inserir o novo registro no novo arquivo e, em seguida, copiar o restante dos dados. UFS - DComp - Prof. Kenia Kodel 13
  14. 14. Como efetuar a inserção de FÁ no arquivo dado, usando como solução a cópia de arquivo?UFS - DComp - Prof. Kenia Kodel 14
  15. 15. algoritmo InsercaoSequencialFisico;inicio Ok:= falso; associe Entrada a ‘Doadores.dat’; associe Saída a ‘Doadores.tmp’; abra Entrada; abra Saida; leiaReg campos de RegNovo; ...fim. UFS - DComp - Prof. Kenia Kodel 15
  16. 16. algoritmo InsercaoSequencialFisico;inicio ... enquanto não fim(Entrada) faça inicio leia Reg de Entrada; se (Reg.Paciente>RegNovo.Paciente) e não(Ok) então inicio grave RegNovo em Saida; Ok:= verdadeiro; fim; grave Reg em Saida; fim; se nao(Ok) então grave RegNovo em Saida; destrua Entrada; feche Saida; renomeie nome externo de Saída para ‘Doadores.dat’;fim. UFS - DComp - Prof. Kenia Kodel 16
  17. 17. algoritmo InsercaoSequencialFisico;inicio ... enquanto não fim(Entrada) faça inicio leia Reg de Entrada; se (Reg.Paciente>RegNovo.Paciente) e não(Ok) então inicio grave RegNovo em Saida; Ok:= verdadeiro; fim; grave Reg em Saida; fim; se nao(Ok) então Quando este SE é grave RegNovo em Saida; executado? destrua Entrada; feche Saida; renomeie nome externo de Saída para ‘Doadores.dat’;fim. UFS - DComp - Prof. Kenia Kodel 17
  18. 18. algoritmo InsercaoSequencialFisico;inicio ... enquanto não fim(Entrada) faça inicio leia Reg de Entrada; se (Reg.Paciente>RegNovo.Paciente) e não(Ok) então inicio grave RegNovo em Saida; Ok:= verdadeiro; fim; grave Reg em Saida; fim; se nao(Ok) então grave RegNovo em Saida; destrua Entrada; feche Saida; renomeie nome externo de Saída para ‘Doadores.dat’;fim. A instrução destacada é usada quando o novo registro (a ser inserido) tem chave (de ordenação) maior que a chave de todos os registros mantidos no arquivo. UFS - DComp - Prof. Kenia Kodel 18
  19. 19. algoritmo InsercaoSequencialFisico;inicio ... enquanto não fim(Entrada) faça inicio leia Reg de Entrada; se (Reg.Paciente>RegNovo.Paciente) e não(Ok) então inicio grave RegNovo em Saida; Ok:= verdadeiro; fim; grave Reg em Saida; fim; Há vantagens em se nao(Ok) então executar teste equivalente a este no grave RegNovo em Saida; início do código? destrua Entrada; feche Saida; renomeie nome externo de Saída para ‘Doadores.dat’;fim. UFS - DComp - Prof. Kenia Kodel 19
  20. 20. algoritmo InsercaoSequencialFisico;inicio ... enquanto não fim(Entrada) faça inicio leia Reg de Entrada; se (Reg.Paciente>RegNovo.Paciente) e não(Ok) então inicio grave RegNovo em Saida; Ok:= verdadeiro; fim; grave Reg em Saida; fim; se nao(Ok) então grave RegNovo em Saida; destrua Entrada; feche Saida; renomeie nome externo de Saída para ‘Doadores.dat’;fim. Assim pode ser evitada a necessidade de cópia do arquivo. Neste caso seria suficiente incluir o novo registro no final do arquivo de dados; havendo assim economia de tempo de processamento. UFS - DComp - Prof. Kenia Kodel 20
  21. 21. Inclusão em ArquivosSequenciais Ordenados Fisicamente Outra solução : 2. Os registros a serem inseridos são agrupados em lote e, em momento oportuno, é feito um processamento único sobre o arquivo original incluindo todos os novos itens de dados. UFS - DComp - Prof. Kenia Kodel 21
  22. 22. Como efetuar a inserção de FÁ no arquivo dado, usando lote?UFS - DComp - Prof. Kenia Kodel 22
  23. 23. Como efetuar a inserçãode FÁ no arquivo dado? Assim surgem os arquivos auxiliares e temporários. UFS - DComp - Prof. Kenia Kodel 23
  24. 24. Elaborar programa para efetuar a inclusão de registros em lote, em arquivo sequencial ordenado fisicamente. Cuidando do jardim!!! UFS - DComp - Prof. Kenia Kodel 24
  25. 25. Inclusão em ArquivosSequenciais Ordenados FisicamenteOutra solução :3. Esta envolve movimentação de registros. É identificado o ponto P de inserção do novo registro N. Todos os registros de P até o final do arquivo são movidos 1 posição, vagando a posição P. Então N é inserido em P. UFS - DComp - Prof. Kenia Kodel 25
  26. 26. Inclusão em ArquivosSequenciais Ordenados FisicamenteNa execução da solução de inclusão que envolve movimentação de registros. Inicialmente, num arquivo A, é preciso identificar o ponto de inserção P do novo registro N. Qual a lógica para identificação de P? É preciso usar a chave de ordenação (campo do registro usado para ordenar o arquivo)? UFS - DComp - Prof. Kenia Kodel 26
  27. 27. Inclusão em ArquivosSequenciais Ordenados Fisicamente P corresponde a posição em A onde se encontra o primeiro registro com chave de ordenação maior que a de N. É preciso criar uma posição livre no final de arquivo e mover para posição seguinte todos os registros do final de A até P, vagando P. Para concluir, N é incluído em P. UFS - DComp - Prof. Kenia Kodel 27
  28. 28. Como efetuar a inserção de FÁ no arquivo dado, usando movimentação de dados?UFS - DComp - Prof. Kenia Kodel 28
  29. 29. Com cópia de arquivo. Inserção Com Commovimentação de dados. arquivo de lote. Qual o melhor método de inserção em arquivo sequencial fisicamente ordenado? UFS - DComp - Prof. Kenia Kodel 29
  30. 30. Como efetuar remoção em arquivos sequenciais ordenados fisicamente?UFS - DComp - Prof. Kenia Kodel 30
  31. 31. Remoção em Arquivos SequenciaisFisicamente Ordenados Requer cuidado com os espaços livres gerados. UFS - DComp - Prof. Kenia Kodel 31
  32. 32. Remoção em Arquivos SequenciaisFisicamente Ordenados Pode ser: 1. Lógica 2. Física Registro a Registro 3. Física Em lote Como efetuar cada uma destas? UFS - DComp - Prof. Kenia Kodel 32
  33. 33. Como efetuar a busca em arquivos sequenciais ordenados fisicamente?UFS - DComp - Prof. Kenia Kodel 33
  34. 34. Busca em Arquivo Sequencial Ordenado FisicamenteConsiste 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.
  35. 35. Busca Total em Arquivo Sequencial Ordenado FisicamenteEm 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;... Neste observa-se a aplicação da buscafeche Arquivo; sequencial. Poderia ser aplicada a busca binária?
  36. 36. Busca em Arquivo Sequencial Ordenado Fisicamente PACIENTE SANGUE RH DOAÇÃO CONTATO PESO1 Zé A + 12/12/03 (79)223.1542 802 Beto B - 12/10/02 (79)8801.2017 703 Clô O + 11/09/04 (79)9941.1388 724 Gil AB - 02/02/05 (81)2212.6711 955 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? Para todas as consultas propostas é possível aplicar busca sequencial e/ou binária?
  37. 37. Como efetuar a alteração em arquivos sequenciais ordenados fisicamente? Pode/Deve ser efetuada sobre a chave de ordenação? UFS - DComp - Prof. Kenia Kodel 37
  38. 38. Como efetuar a classificação em arquivos sequenciais ordenados fisicamente? Pode/Deve ser aplicada tomando qualquer campo como chave de ordenação? UFS - DComp - Prof. Kenia Kodel 38
  39. 39. Como efetuar a recuperação (transferência entre memórias) em arquivos sequenciais ordenados fisicamente? O que justifica tal operação? Em outras palavras, por que efetuar tal operação? Que estrutura usar em memória principal? UFS - DComp - Prof. Kenia Kodel 39
  40. 40. Visando garantir máxima eficiência na implementação de arquivos sequenciais, que forma de organização deve-se adotar? Desordenada ou ordenada fisicamente? Justifique: Cuidando do jardim!!! UFS - DComp - Prof. Kenia Kodel 40
  41. 41. Visando garantir máxima eficiência na implementação de arquivos sequenciais, que forma de organização deve-se adotar? Desordenada ou ordenada fisicamente? Justifique: São indicadores de eficiência em computação: •velocidade de processamento •capacidade de armazenamento Adotando estes como critérios de comparação e analisando cada uma das operações principais (inserção, remoção, consulta) separadamente. ... Cuidando do jardim!!! UFS - DComp - Prof. Kenia Kodel 41
  42. 42. Visando garantir máxima eficiência na implementação de arquivos sequenciais, que Cuidando do jardim!!! forma de organização deve-se adotar? Desordenada ou ordenada fisicamente? Justifique:Inserção (sem checar redundância de dados) Arquivo Processo Custo Uso de Espaço Sequencial (tamanho n) Em final de Desordenado arquivo constante n Com cópia de arquivo linear 2.n Ordenado Com linear Fisicamente movimentação (no pior caso) n de dados Usando lote de tamanho m linear 2.n + m UFS - DComp - Prof. Kenia Kodel 42
  43. 43. Visando garantir máxima eficiência na implementação de arquivos sequenciais, que Cuidando do jardim!!! forma de organização deve-se adotar? Desordenada ou ordenada fisicamente? Justifique:Remoção Arquivo Sequencial Processo Custo Uso de Espaço (tamanho n) lógica linear (no pior caso) n Desordenado física registro a  linear(sem redundância registro (com  para m 2.n de chave de cópia) inclusões (n.m) ordeanação) física em lote  linear ordenado (com  para m 2.n+m cópia) inclusões (n+m) lógica logarítmico n Ordenado (no pior caso) Fisicamente  linear(sem redundância física registro a  para m 2.n de chave de registro inclusões (n.m) ordeanação) física em lote  linear ordenado (com  para m 2.n+m cópia) inclusões (n+m) UFS - DComp - Prof. Kenia Kodel 43
  44. 44. Visando garantir máxima eficiência na implementação de arquivos sequenciais, que Cuidando do jardim!!! forma de organização deve-se adotar? Desordenada ou ordenada fisicamente? Justifique:Busca Específica Arquivo Sequencial Custo Uso de Espaço (tamanho n) Desordenado linear n Ordenado logarítmico n Fisicamente UFS - DComp - Prof. Kenia Kodel 44
  45. 45. Visando garantir máxima eficiência na implementação de arquivos sequenciais, que Cuidando do jardim!!! forma de organização deve-se adotar? Desordenada ou ordenada fisicamente? Justifique:Busca Total Arquivo Sequencial Custo Uso de Espaço (tamanho n) Desordenado linear n Ordenado linear n Fisicamente UFS - DComp - Prof. Kenia Kodel 45
  46. 46. Visando garantir máxima eficiência na implementação de arquivos sequenciais, que Cuidando do jardim!!! forma de organização deve-se adotar? Desordenada ou ordenada fisicamente? Justifique:A análise não aponta um resultado único.Revela que para garantir eficiência naimplementação de arquivos sequenciais épreciso analisar a situação problema eidentificar que operações são maiscríticas, mais frequentes, qual a disponibilidadede espaço, o que é prioritário para o usuário... UFS - DComp - Prof. Kenia Kodel 46
  47. 47. Quando aplicar arquivos sequenciais ordenados fisicamente? Analisar frequência das operações x custo destas na situação problema.UFS - DComp - Prof. Kenia Kodel 47
  48. 48. Complementar Estudos... File Organization and Processing Allan L Tharp Capítulo 2 Sequential File Organization48 UFS - DComp - Prof. Kenia Kodel
  49. 49. Próximo passo...Arquivos Sequenciais Ordenadospor Link Operações de manipulação destes.Aplicações destes. UFS - DCOMP - Prof. Kenia Kodel 49

×