EDII04 [2012.1] Arquivos Sequenciais [Definição e Desordenado]

1,873 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,873
On SlideShare
0
From Embeds
0
Number of Embeds
50
Actions
Shares
0
Downloads
39
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

EDII04 [2012.1] Arquivos Sequenciais [Definição e Desordenado]

  1. 1. Arquivos Sequenciais Estrutura de Dados IIUnida 0 de 4 UFS - DComp - Prof. Kenia Kodel 1
  2. 2. Flores?O verbo educar é originário do latim e querdizer extrair de dentro. Logo, a educaçãonão se constitui em mero estabelecimento deinformações, mas sim de se trabalhar aspotencialidades do ser, a fim de quefloresçam. UFS - DComp - Prof. Kenia Kodel 2
  3. 3. O segredo é não correr atrás dasborboletas... É cuidar do jardimpara que elas venham até você. . Mário Quintana UFS - DComp - Prof. Kenia Kodel 3
  4. 4. Estudamos que existem três principais tipos de arquivo:2.Sequenciais3.Sequenciais Indexados4.Direto Com qua t de aquiv v êj is ipos r o oc á ta l r bahou?
  5. 5. Estudamos que existem três principais tipos de arquivo:2.Sequenciais3.Sequenciais Indexados4.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
  6. 6. que éum arquivos equencial?
  7. 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. 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. 9. omo podem serorga dos (ar nj dos)os regist niza ra a rosde composiç o dos a os sequencia Ordena ã rquiv is? dos?Desordenados?
  10. 10. Como organizar os registros de Arquivos Sequencial?Arquivos sequenciais podem ser:2. Desordenados3. Ordenados, por chave(s) 2.1. Fisicamente 2.2. Por links (lógica)
  11. 11. Arquivo Sequencial Desordenado 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
  12. 12. Arquivo Sequencial Ordenado Fisicamente PACIENTE SANGUE RH DOAÇÃO CONTATO PESO 1 Beto B - 12/10/02 (79)8801.2017 702 Clô O + 11/09/04 (79)9941.1388 723 Gil AB - 02/02/05 (81)2212.6711 954 Sara A - 10/01/04 (11)2213.0909 735 Zé A + 12/12/03 (79)223.1542 80
  13. 13. Arquivo Sequencial Ordenado Fisicamente PACIENTE SANGUE RH DOAÇÃO CONTATO PESO 1 Beto B - 12/10/02 (79)8801.2017 702 Clô O + 11/09/04 (79)9941.1388 723 Gil AB - 02/02/05 (81)2212.6711 954 Sara A - 10/01/04 (11)2213.0909 735 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. 14. Arquivo Sequencial Ordenado por Link PACIENTE SANGUE RH DOAÇÃO CONTATO PESO LINK 0 21 Zé A + 12/12/03 (79)223.1542 80 -12 Beto B - 12/10/02 (79)8801.2017 70 33 Clô O + 11/09/04 (79)9941.1388 72 44 Gil AB - 02/02/05 (81)2212.6711 95 55 Sara A - 10/01/04 (11)2213.0909 73 1
  15. 15. Arquivo Sequencial Ordenado por Link PACIENTE SANGUE RH DOAÇÃO CONTATO PESO LINK 0 21 Zé A + 12/12/03 (79)223.1542 80 -12 Beto B - 12/10/02 (79)8801.2017 70 33 Clô O + 11/09/04 (79)9941.1388 72 44 Gil AB - 02/02/05 (81)2212.6711 95 55 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. 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. 17. áv nt gens em ma era os sequencia ordena porl aa nt rquiv is dos inks? Hádesv nt gens? aaEmifique: J relação aos arquivos sequenciais ordenados ustfisicamente temos: Vantagem: A operação deINSERÇÃO é efetuada sem movimentação de registros oque implica em economia de tempo de processamento.Desvantagens: (a) A operação de CONSULTA implicana necessidade de posicionamento do dispositivo deleitura 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 exigemaior demanda de espaço de armazenamento.Em relação aos arquivos sequenciais desordenados...
  18. 18. ue oper ç es sã úeis nama a ã de aõ o t nipul ç o a os sequencia desordena rquiv is dos?
  19. 19. Operações sobre Arquivos SequenciaisSã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. 20. st s oper ç es esgot m a a aõ a snecessida de ma a ã de de nipul ç o da ma idos em aquiv dos nt r os sequencia is?
  21. 21. omo efet rins erção em uaa o sequencia desordena rquiv l do?
  22. 22. Inserção em ArquivosSequenciais DesordenadosNovos 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. 23. Inserção em ArquivosSequenciais DesordenadosNovos 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. 24. Inserção em ArquivosSequenciais DesordenadosNovos 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 ó ?
  25. 25. omo efet rremoção em uaa o sequencia desordena rquiv l do?
  26. 26. Remoção em ArquivosSequenciais 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. 27. Remoção em ArquivosSequenciais DesordenadosSIM, a referida operação requer do programador cuidadocom os espaços livres; pois: (a) apesar da grandecapacidade de armazenamento de dados, a memóriasecundária é usada para manter também grande volumede 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 deespaço livres entre registros válidos.
  28. 28. Remoção em ArquivosSequenciais DesordenadosPode ser: 1. Remoção Lógica 2. Remoção Física 2.1. Registro a registro 2.2. Em lote (Compactação)
  29. 29. Remoção em ArquivosSequenciais DesordenadosQua 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. 30. Remoção em ArquivosSequenciais 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. 31. Remoção em ArquivosSequenciais 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 finaIst a ao t de pr ment us o, el ç o ua l de aquiv r o?
  32. 32. Remoção em ArquivosSequenciais 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. 33. Remoção em ArquivosSequenciais 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. 34. Remoção em ArquivosSequenciais 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. 35. Remoção em ArquivosSequenciais 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. 36. Remoção em ArquivosSequenciais 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. 37. Remoção em ArquivosSequenciais 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. 38. Remoção em ArquivosSequenciais 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. 39. Remoção Lógica emArquivo Sequencial Desordenadoassocie 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 psfeche Arquivo; r l ç o daexcl ã eaiza ã us o?
  40. 40. Construir programa para efetuar a remoção física de registros em arquivo sequencial desordenado: a) registro a registro b) em loteC uidando do jardim!!!
  41. 41. Construir programa para efetuar a remoção física de registros em arquivosequencial 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. 42. Construir programa para efetuar a remoção física de registros em arquivosequencial 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. 43. Considerando que um programador optou porefetuar a remoção lógica, em aplicação demanipulação de arquivo sequencial desordenado.Há formas de reaproveitar os espaços livres geradosnesta a partir da execução das outras operações demanipulação de dados? Justifique sua resposta: Construir, coletivamente, resposta escrita. C uidando do jardim!!!
  44. 44. omo efet rbusca(consula pesquisa em ua t, ) a o sequencia desordena rquiv l do?
  45. 45. Busca em Arquivo Sequencial DesordenadoConsiste 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. 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. 47. Busca Total em Arquivo Sequencial DesordenadoEm 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 dafeche Arquivo; buscabináia r?
  48. 48. Busca Total em Arquivo Sequencial DesordenadoEm 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 rfeche Arquivo; aust efet r j es ua?
  49. 49. Busca em Arquivo Sequencial Desordenado 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 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. 50. omo efet rat a ã em a o ua ler ç o rquiv sequencia desordena l do?
  51. 51. Alteração em Arquivo Sequencial DesordenadoPara 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. 52. Alteração em ArquivoSequencial 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. 53. Alteração em Arquivo Sequencial DesordenadoAlteraçã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. 54. st mos t s a oper ç es “cl ssica e” uda oda s a õ a menta ica s paama a ã de da ma idos pl da r nipul ç o dos nt em a os sequencia (desordena rquiv is dos)?
  55. 55. ua a ica a os ndo pl r rquivsequencia desordena is dos?
  56. 56. ú t de consulapossv em a os nico ipo t í el rquiv sequencia desordena éaconsula is dos tsequencia, 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 ndonã hápreocupa ã com quaida com t o ço l de, empo de processa o? ment
  57. 57. Aplicação de Arquivo Sequencial DesordenadoArquivos sequenciais desordenados sãoaplicados na implementação de aplicaçõescujo tempo destinado ao desenvolvimentoé curto. Porquê?
  58. 58. Aplicação de Arquivo Sequencial DesordenadoArquivos sequenciais desordenados sãoaplicados para manter poucos dados, masde forma permanente. Porquê?
  59. 59. Aplicação de Arquivo Sequencial DesordenadoArquivos sequenciais desordenados sãoaplicados quando os dados são ordenadosnaturalmente, conforme a entrada destes:arquivos de logsextratos bancáriosextratos/histórico cartão de crédito
  60. 60. omo execut r e qua o cust de ca umada a, l o, da soper ç 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. 61. Arquivo Sequencial DesordenadoPensa 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. 62. Complementar Estudos... File Organization and Processing Allan L Tharp Capítulo 2 Sequential File Organization62 UFS - DComp - Prof. Kenia Kodel
  63. 63. Próximo passo...Arquivos Sequenciais OrdenadosArquivos fisicamente ordenados. Arquivosordenados por links. Operações de manipulaçãodestes. Aplicações destes. UFS - DCOMP - Prof. Kenia 63 Kodel

×