EDII05 [2012.1] Arquivos Sequenciais Ordenados Fisicamente

  • 1,143 views
Uploaded on

 

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,143
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
23
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Arquivos SequenciaisOrdenados Fisicamente Estrutura de Dados IIUnidade 05 UFS - DComp - Prof. Kenia Kodel 1
  • 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. 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. Arquivos SequenciaisPodem ser:1. Desordenados2. Ordenados, por chave(s) 2.1. Fisicamente 2.2. Por links (lógica)
  • 5. Arquivos SequenciaisOrdenados Fisicamente UFS - DComp - Prof. Kenia Kodel 5
  • 6. O que é um arquivo sequencial ordenado fisicamente?UFS - DComp - Prof. Kenia Kodel 6
  • 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. 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. 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. Como efetuar inserção em arquivos sequenciais ordenados fisicamente?UFS - DComp - Prof. Kenia Kodel 10
  • 11. Como efetuar a inserção de FÁ no arquivo dado?UFS - DComp - Prof. Kenia Kodel 11
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Como efetuar a inserção de FÁ no arquivo dado, usando lote?UFS - DComp - Prof. Kenia Kodel 22
  • 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. 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. 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. 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. 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. Como efetuar a inserção de FÁ no arquivo dado, usando movimentação de dados?UFS - DComp - Prof. Kenia Kodel 28
  • 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. Como efetuar remoção em arquivos sequenciais ordenados fisicamente?UFS - DComp - Prof. Kenia Kodel 30
  • 31. Remoção em Arquivos SequenciaisFisicamente Ordenados Requer cuidado com os espaços livres gerados. UFS - DComp - Prof. Kenia Kodel 31
  • 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. Como efetuar a busca em arquivos sequenciais ordenados fisicamente?UFS - DComp - Prof. Kenia Kodel 33
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Complementar Estudos... File Organization and Processing Allan L Tharp Capítulo 2 Sequential File Organization48 UFS - DComp - Prof. Kenia Kodel
  • 49. Próximo passo...Arquivos Sequenciais Ordenadospor Link Operações de manipulação destes.Aplicações destes. UFS - DCOMP - Prof. Kenia Kodel 49