Buscar

arquivos_sequeciais_indexados_(slides)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Arquivos Seqüenciais 
Indexados
Professor: Alexandre Scaico
alexandre_scaico@yahoo.com.br
Faculdade de Ciências Sociais Aplicadas
Curso de Sistemas de Informações
Organização e Busca da Informação
2
Introdução
„ Arquivo seqüencial
„ Bom para acesso seqüencial
„ Ruim para acesso aleatório
„ Arquivo de acesso direto
„ Bom para acesso aleatório
„ Ruim para acesso seqüencial
3
Introdução
„ Quando o volume de acessos aleatórios num 
arquivo seqüencial torna-se grande, acrescenta-se 
um Índice (estrutura de acesso), transformando-o 
em um Arquivo Seqüencial Indexado 
„ Um Índice ou Arquivo de Índices é uma coleção 
de registros do tipo <chave do registro de 
dados,endereço do registro de dados> 
„ Ou seja, cada entrada no índice associa um valor de 
chave ao endereço do registro no arquivo de dados, ou 
o endereço de um bloco de dados
4
Introdução
„ Como funciona uma estrutura Seqüencial 
Indexada? 
„ Os registros no arquivo de dados devem estar 
ordenados 
„ Indexar os arquivos em blocos de registros comuns
5
Introdução
Estrutura seqüêncial indexada
6
Introdução
„ Exemplo → arquivo seqüencial indexado com 
blocos de dados de 3 registros
2
7
Introdução
„ No Arquivo de Índice 
„ O atributo CHAVE corresponde a maior chave de um 
bloco de registros 
„ O atributo ENDEREÇO é o endereço do primeiro 
registro no bloco 
„ O acesso aleatório é feito com a utilização do índice 
„ O acesso seqüencial a um registro pode ser feito 
diretamente sobre a área de dados, sem a utilização do 
índice, como se fosse um arquivo seqüencial 
„ Como a quantidade de blocos é menor que a 
quantidade de registros, a pesquisa é mais rápida
8
Operações sobre Arquivos 
Seqüênciais Indexados
„ Arquivos Seqüenciais Indexados têm excelente 
desempenho para a recuperação, modificação e 
exclusão de registros 
„ Porém, a inclusão de registros nestes arquivos não 
é eficiente
9
Inclusão de Registros
„ Ocorre uma carga inicial, onde são criados o 
arquivo de dados e o índice
„ O arquivo de dados é criado a partir de um arquivo 
seqüencial de entrada
10
Inclusão de Registros
„ Inclusão de Novos Registros 
„ (1) Consulta-se o índice e determina-se o bloco do 
arquivo de dados no qual o registro deve ser 
armazenado 
„ A consulta é realizada através da chave primária
„ (2) Caso um bloco fique ou esteja cheio, os novos 
registros para este bloco serão armazenados numa área 
de overflow chamada Área de Extensão
„ (3) Se um registro incluído possuir a maior chave do 
bloco, a respectiva entrada no índice para aquele bloco 
deve ser atualizada com o valor de sua chave
11
Inclusão de Registros
„ Área de Extensão 
„ É uma extensão da área principal de dados 
„ A área de extensão é necessária porque não é viável a 
implementação da operação de inclusão de registros 
em seu endereço adequado
„ Isso acarreta a mudança de endereços dos registros 
posteriores
„Obriga uma completa alteração dos índices a cada nova 
inclusão no arquivo de dados
12
Inclusão de Registros
„ Alternativas de Implementação da Área de 
Extensão 
„ Existem duas alternativas
„ Ambas utilizam um atributo de ligação (ELO)
„ A diferença está em como o encadeamento é realizado 
na área de extensão
3
13
Inclusão de Registros
„ 1ª alternativa → Associar a cada registro do 
arquivo de dados um atributo de ligação (ELO) 
„ Para um registro alocado no arquivo de dados, o 
atributo de ligação contém o endereço do primeiro 
registro de uma lista encadeada de registros com 
valores de chave antecessores, estando esta lista 
alocada na área de extensão 
„ Para um registro alocado na área de extensão, o 
atributo de ligação contém o endereço do registro com 
valor de chave sucessor, estando este na própria área 
de extensão
14
Inclusão de Registros
„ Exemplo da 1ª alternativa
15
Inclusão de Registros
„ Exemplo da 1ª alternativa
„ Registros a incluir em uma área de extensão única com 
início no endereço 200
16
17
Inclusão de Registros
„ 2ª alternativa → Associar a cada bloco de registros 
um atributo de ligação (ELO)
„ O ELO é destinado a conter o endereço do primeiro 
registro de uma lista encadeada de registros com 
valores de chave sucessores, estando esta lista alocada 
na área de extensão 
„ Os registros armazenados na área de extensão terão o 
atributo de ligação (ELO), contendo o endereço do 
registro com valor de chave sucessor, estando este na 
própria área de extensão
„ Dentro do bloco, os registros devem estar ordenados 
fisicamente. Porém, na área de extensão a ordenação é
lógica, feita através do atributo de ligação 18
Inclusão de Registros
„ Exemplo da 2ª alternativa
4
19
Inclusão de Registros
„ Exemplo da 2ª alternativa
„ Registros a incluir em uma área de extensão única com 
início no endereço 200
20
21
Exclusão de Registros
„ Consulta-se o índice e determina-se o bloco do 
arquivo de dados no qual o registro deve estar 
armazenado 
„ A exclusão de um registro é implementada com a 
utilização de um Atributo de Estado indicando se 
o registro foi ou não excluído 
„ Se um registro marcado como "Excluído" possuir a 
maior chave do bloco, a respectiva entrada no índice 
para aquele bloco deve ser atualizada com o valor da 
chave imediatamente antecessora 
22
Exclusão de Registros
„ O atributo de estado deve ser consultado nas 
demais operações, sendo desconsiderados aqueles 
registros com a marca "excluído" 
„ Uma reorganização pode ser feita a fim de 
eliminar fisicamente os registros com a marca 
"excluído"
„ Isto implica na geração de um novo arquivo de dados e 
de um novo índice
23
Alteração de Registros
„ Consulta-se o índice e determina-se o bloco do 
arquivo de dados no qual o registro deve estar 
armazenado 
„ Se a alteração não envolve a chave de ordenação 
do registro, basta realizá-la normalmente, 
alterando os atributos e regravando o registro no 
mesmo endereço
„ Caso contrário, a alteração é implementada em 
duas fases → exclusão do registro e inclusão do 
registro com nova chave
24
Acesso aos Arquivos
„ O acesso aos registros de um arquivo seqüencial 
indexado pode ser feito de três formas
„ Serial, aleatório, busca exaustiva
„ Acesso serial 
„ Diretamente sobre o arquivo de dados, sem a 
utilização do índice 
„ É importante que a busca também considere os 
registros armazenados na área de extensão, os quais 
são acessados por meios do atributo de ligação (ELO)
5
25
Acesso aos Arquivos
„ Acesso aleatório 
„ Feito com a utilização do índice 
„ A chave de busca define o caminhamento sobre o 
índice, que conduz ao endereço do registro desejado 
„ O endereço obtido pode ser o próprio endereço do 
registro ou o endereço do primeiro registro do bloco 
que o contém
„Nesse último caso, é necessária uma busca no bloco, a qual 
pode requerer acessos à área de extensão 
26
Acesso aos Arquivos
„ Acesso por busca exaustiva (leitura de todos os 
registros do arquivo) 
„ Feita diretamente sobre o arquivo de dados, sem o uso 
do índice, devendo incluir os registros localizados na 
área de extensão, os quais são acessados por meio do 
atributo de ligação (ELO)
27
Reorganização dos Arquivos
„ Requisitos para Reorganização 
„ Quando existe acesso freqüente à área de extensão 
„ Para exclusão física dos registros logicamente excluídos
28
Reorganização dos Arquivos
„ Procedimento de Reorganização 
„ (1) Busca exaustiva de todos os registros do arquivo de 
dados e da área de extensão 
„ (2) Criação de um novo arquivo de dados 
„ (2.1) Transferência de todos os registros lidos no passo (1) 
para o novo arquivo de dados, exceto aqueles com a marca 
"Excluído" 
„ (3) Criação de um novo arquivo de índice 
„ (4) Exclusãodos antigos arquivos de dados e de índice, 
e da antiga área de extensão

Continue navegando