Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduo
Arquivo seqencial
Bom para acesso seqencial Ruim para acesso aleatrio
Introduo
Quando o volume de acessos aleatrios num arquivo seqencial torna-se grande, acrescenta-se um ndice (estrutura de acesso), transformando-o em um Arquivo Seqencial Indexado Um ndice ou Arquivo de ndices uma coleo de registros do tipo <chave do registro de dados,endereo do registro de dados>
Ou seja, cada entrada no ndice associa um valor de chave ao endereo do registro no arquivo de dados, ou o endereo de um bloco de dados
3
Introduo
Como funciona Indexada? uma estrutura Seqencial
Os registros no arquivo de dados devem estar ordenados Indexar os arquivos em blocos de registros comuns
Introduo
Introduo
Exemplo arquivo seqencial indexado com blocos de dados de 3 registros
Introduo
No Arquivo de ndice
O atributo CHAVE corresponde a maior chave de um bloco de registros O atributo ENDEREO o endereo do primeiro registro no bloco O acesso aleatrio feito com a utilizao do ndice O acesso seqencial a um registro pode ser feito diretamente sobre a rea de dados, sem a utilizao do ndice, como se fosse um arquivo seqencial
Como a quantidade de blocos menor que a quantidade de registros, a pesquisa mais rpida
7 8
Incluso de Registros
Ocorre uma carga inicial, onde so criados o arquivo de dados e o ndice
O arquivo de dados criado a partir de um arquivo seqencial de entrada
Incluso de Registros
Incluso 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 atravs da chave primria
(2) Caso um bloco fique ou esteja cheio, os novos registros para este bloco sero armazenados numa rea de overflow chamada rea de Extenso (3) Se um registro includo possuir a maior chave do bloco, a respectiva entrada no ndice para aquele bloco deve ser atualizada com o valor de sua chave 10
Incluso de Registros
rea de Extenso
uma extenso da rea principal de dados A rea de extenso necessria porque no vivel a implementao da operao de incluso de registros em seu endereo adequado
Isso acarreta a mudana de endereos dos registros posteriores Obriga uma completa alterao dos ndices a cada nova incluso no arquivo de dados
Incluso de Registros
Alternativas de Implementao da rea de Extenso
Existem duas alternativas Ambas utilizam um atributo de ligao (ELO) A diferena est em como o encadeamento realizado na rea de extenso
11
12
Incluso de Registros
1 alternativa Associar a cada registro do arquivo de dados um atributo de ligao (ELO)
Para um registro alocado no arquivo de dados, o atributo de ligao contm o endereo do primeiro registro de uma lista encadeada de registros com valores de chave antecessores, estando esta lista alocada na rea de extenso Para um registro alocado na rea de extenso, o atributo de ligao contm o endereo do registro com valor de chave sucessor, estando este na prpria rea de extenso
13
Incluso de Registros
Exemplo da 1 alternativa
14
Incluso de Registros
Exemplo da 1 alternativa
Registros a incluir em uma rea de extenso nica com incio no endereo 200
15
16
Incluso de Registros
2 alternativa Associar a cada bloco de registros um atributo de ligao (ELO)
O ELO destinado a conter o endereo do primeiro registro de uma lista encadeada de registros com valores de chave sucessores, estando esta lista alocada na rea de extenso Os registros armazenados na rea de extenso tero o atributo de ligao (ELO), contendo o endereo do registro com valor de chave sucessor, estando este na prpria rea de extenso Dentro do bloco, os registros devem estar ordenados fisicamente. Porm, na rea de extenso a ordenao lgica, feita atravs do atributo de ligao 17
Incluso de Registros
Exemplo da 2 alternativa
18
Incluso de Registros
Exemplo da 2 alternativa
Registros a incluir em uma rea de extenso nica com incio no endereo 200
19
20
Excluso de Registros
Consulta-se o ndice e determina-se o bloco do arquivo de dados no qual o registro deve estar armazenado A excluso de um registro implementada com a utilizao de um Atributo de Estado indicando se o registro foi ou no excludo
Se um registro marcado como "Excludo" possuir a maior chave do bloco, a respectiva entrada no ndice para aquele bloco deve ser atualizada com o valor da chave imediatamente antecessora
21
Excluso de Registros
O atributo de estado deve ser consultado nas demais operaes, sendo desconsiderados aqueles registros com a marca "excludo" Uma reorganizao pode ser feita a fim de eliminar fisicamente os registros com a marca "excludo"
Isto implica na gerao de um novo arquivo de dados e de um novo ndice
22
Alterao de Registros
Consulta-se o ndice e determina-se o bloco do arquivo de dados no qual o registro deve estar armazenado Se a alterao no envolve a chave de ordenao do registro, basta realiz-la normalmente, alterando os atributos e regravando o registro no mesmo endereo Caso contrrio, a alterao implementada em duas fases excluso do registro e incluso do registro com nova chave
23
Acesso serial
Diretamente sobre o arquivo de dados, sem a utilizao do ndice importante que a busca tambm considere os registros armazenados na rea de extenso, os quais so acessados por meios do atributo de ligao (ELO)
24
25
26
(3) Criao de um novo arquivo de ndice (4) Excluso dos antigos arquivos de dados e de ndice, e da antiga rea de extenso
27 28