Você está na página 1de 7

Universidade Estadual de Maring UEM Departamento de Informtica - DIN Algoritmos e Estruturas de Dados II

ORGANIZAO DE ARQUIVOS INDEXADOS


Um ndice consiste numa coleo de entradas, uma para cada registro de dados, contendo o valor de uma chave de atribuio e um ponteiro de referncia que acessa imediatamente aquele registro. Os ndices so classificados de acordo com a chave de atribuio, proporcionando rapidez na pesquisa. Quando os arquivos so muito grandes que se faz jus ao uso de ndices, formando vrios nveis. Quanto mais nveis tivermos, mais longa ser a pesquisa, sendo que em cada nvel (constitudo por vrios blocos de ndices) apenas um ndice ser acessado.

Formato dos ndices


O formato dos ndices para acessar os registros no arquivo, ser ligado ao fanout. FANOUT o nmero de entradas que se encontra em cada bloco de ndices. Quanto maior o fanout, maior ser o bloco de ndice, e quanto menor o fanout, menor o bloco de ndices. Logo, podemos concluir que quanto maior a amplitude da rvore, maior o fanout. As rvores altas possuem vrios nveis, portanto tem fanouts menores do que as rvores baixas. A busca mais rpida nas rvores baixas (largas), pois no perde-se tempo para passar de nvel. O termo usado para medir a largura da rvore FANOUT RATIO Y. As rvores indexadas so usadas em arquivos indexados, uma vez que so mais largas do que altas, implicando em um nmero de nveis menor, conseqentemente uma pesquisa mais rpida. O FANOUT RATIO Y um parmetro muito importante na anlise da organizao de arquivos indexados e sero freqentemente encontrados. So similares a estruturas de dados usado na memria, funcionando como rvores. ^^ ^^^^^ ^^^^^^^ ^^^^^^^^^^ Alto fanout

^^^^^^^^ ^^^^^^^^ Baixo fanout

Elaborado e gentilmente cedido por: Prof. Osvaldo Alves dos Santos

Universidade Estadual de Maring UEM Departamento de Informtica - DIN Algoritmos e Estruturas de Dados II

rvores estticas versus dinmica


Arquivos seqenciais indexadas trabalham com rvore B iniciada como sendo esttica, uma vez que os ndices no podem ser mudados. Na incluso de novos registros, estes so colocados na rea de overflow. Arquivos indexados trabalham com rvore B Indexada Dinmica, uma vez que incluses podem ser feitas no arquivo principal ( os espaos livres so conseguidos atravs dos ndices, no existem reas de overflow).

Arquivos invertidos
So arquivos que so criados ou classificados tendo como ponto de referncia ndices ou outras chaves de atribuio. Logo, um arquivo indexado pode ter vrios ndices, cada um contendo como chave de atribuio um campo de registro.

Diferenas entre arquivos indexados e seqencial indexado


Seqencial Indexado Estrutura esttica. Possui rea de overflow. Inseres sero fsicas na rea de overflow. Remoes so lgicas. Possui somente uma estrutura de ndices. Indexado Estrutura dinmica. No possui rea de overflow. Inseres so feitas na prpria rvore. Remoes so fsicas. Acesso seqencial pode existir mas atravs dos ndices.

Manipulao de arquivos indexados


Em arquivos indexados os registros so acessados sempre atravs de uma ou mais organizaes de ndices, onde cada organizao tem uma chave diferente para acessar os registros de dados. Tais registros esto num arquivo separado (principal) que tem a forma de arquivo de pilha (podem existir tantos ndices quantos forem as chaves de acesso do registro). No h qualquer compromisso com a ordem fsica de intercalao dos registros e so dispensados os mecanismos complexos de administrao de reas de extenso que existiam nos arquivos seqencialmente indexados. Os blocos de ndices so ordenados pela chave de acesso, sendo cada uma delas constituda por um par (chave de registro, endereo de bloco). A sequencialidade fsica das Elaborado e gentilmente cedido por: Prof. Osvaldo Alves dos Santos

Universidade Estadual de Maring UEM Departamento de Informtica - DIN Algoritmos e Estruturas de Dados II chaves de acesso visa a tornar mais eficiente o processo de busca e permitir o acesso serial ao arquivo.

ndices
Os ndices podem ser exaustivo ou seletivo. Um ndice dito exaustivo quando possui uma entrada para cada registro do arquivo, ou seja, tem TIDs para todos os registros do arquivo. TIDs so ponteiros para o registro de dados. E ndice seletivo tem TIDs somente para registros onde a chave de acesso significante, ou seja, quando possui entradas apenas para um subconjuntos dos registros. O subconjunto definido por uma condio relativa chave de acesso e/ou outros campos do arquivo. Um exemplo de ndice seletivo seria o ndice dos funcionrios que ganham salrio maior que 15.000.000,00 sobre o cadastro geral dos funcionrios de uma empresa. Se nenhum dos ndices existentes sobre um arquivo for exaustivo, necessria a manuteno de uma TABELA DE ALOCAO que identifique todos os espaos alocados pelo arquivo, para fins de manuteno e administrao do arquivo que so feitas diretamente sobre os dados. A manuteno dos ndices do arquivo indexado baseado na rvore-B.

Busca de um registro em um arquivo indexado


para a busca de um registro em um arquivo indexado, deve-se acessar tantos blocos de ndices existirem e finalmente acessar o dado no arquivo principal.

Acesso ao prximo registro


Para acessar um registro sucessor ou antecessor ao que se est naquele momento. Na maioria dos casos o bloco do ndice que contm a prxima entrada est no buffer, por ser o mesmo que contm a ltima entrada acessada. Assim basta fazer uma busca do ndice neste ltimo bloco. Ento, a maioria dos acessos seriais requer apenas uma leitura do disco, para a obteno do registro de dados. mas se o ndice para acessar o bloco desejado no se encontrar neste bloco, necessrio fazer um retorno aos blocos de ndices.

Insero de um registro
Para inserir um registro em um arquivo indexado, o registro colocado na primeira rea livre do arquivo (de pilha) e ento todos os ndices so atualizados. Para um ndice seletivo, necessria uma verificao prvia, para determinar se o registro satisfaz a condio de seleo Neste processo de insero, pode ocorrer uma situao de overflow nos blocos correspondentes de um ou mais ndices. O tratamento de situaes deste tipo feito como na rvore-B.

Elaborado e gentilmente cedido por: Prof. Osvaldo Alves dos Santos

Universidade Estadual de Maring UEM Departamento de Informtica - DIN Algoritmos e Estruturas de Dados II

Excluso de um registro
Na excluso de um registro, liberada a rea de dados ocupada pelo registro e so removidas dos ndices de entradas a ele correspondente. A remoo de uma entrada de ndice pode ser implementada de um modo direto, pela retirada fsica do par ( chave do registro, endereo do registro ) e conseqente reagrupamento das entradas daquele bloco do ndice para o preenchimento do espao liberado. Outra alternativa consiste de marcar a entrada correspondente ao arquivo excludo, pela substituio do endereo do registro por um endereo invlido. Quando h ndices seletivos sobre o arquivo, surge o problema de determinar em quais deles o registro excludo referenciado, para que deles sejam removidas as entradas correspondentes ao registro excludo. Este problema pode ser resolvido pela avaliao de cada uma das condies de seleo relativas aos ndices, para o caso do registro excludo.

Alterao de um registro
Para a alterao, o endereo do registro determinado por uma busca sobre o ndice. Achado o registro, este lido, seus campos alterados, e novamente gravado, na mesma posio.

Reorganizao do arquivo
Esta operao no usualmente exigida pelos arquivos indexados, visto que os espaos liberados na rea de dados, pela excluso de registros, so reutilizados na operao de insero.

Manipulao de ndices
Para se fazer insero e deleo de ndices em rvore-B, deve-se manter os blocos de ndices com metade de sua capacidade em armazenar ndices.

Insero
Novas entradas so inseridas no bloco de ndices de primeiro nvel, at que o limite y seja alcanado. A prxima entrada a ser inserida ir requerer a alocao de um bloco de ndices que ento inicializado com metade das entradas de ndices pegas do bloco que estava cheio. O bloco foi dividido. A entrada que forou a diviso pode ser agora inserida dentro de um nvel apropriado de um bloco de ndice. Ao mesmo tempo uma nova entrada pode ser criada para um novo bloco de ndice mais alto, contendo o par {Vn+1, Pn+1}. o valor Vn+1 o primeiro Vy/2+1 pego da diviso do bloco que V1 no novo bloco. O bloco do prximo nvel apropriado pode j estar cheio e ainda requerer outra diviso. Se o bloco raiz estiver cheio, o novo bloco criado com duas entradas, uma para o

Elaborado e gentilmente cedido por: Prof. Osvaldo Alves dos Santos

Universidade Estadual de Maring UEM Departamento de Informtica - DIN Algoritmos e Estruturas de Dados II novo bloco raiz e a outra para o novo parceiro. Desta maneira podemos dizer que a rvore cresceu um nvel. Esta insero mantm o valor do Yeff no ponto desejado.

Remoo
Quando uma entrada deletada, um bloco de ndice pode deixar de ter y/2 entradas. Da o bloco parceiro ser inspecionado. Se o nmero total de entradas em ambos os blocos menor do que y, eles podero ser combinados. Uma entrada no bloco de ndices de nvel mais alto ento deletado, e esta deleo ir se propagar talvez, at o bloco raiz. Se o bloco raiz tiver apenas uma entrada, esta poder ser deletada, implicando, assim, na reduo de um nvel. OBS: se o total de dois blocos, quando combinados em vista da deleo, for igual a y, ento melhor no combinar os blocos, evitando assim um custo excessivo.

Uso de arquivos indexados


Arquivos indexados so usados principalmente em reas onde a necessidade de informaes exigida rapidamente ou o acesso a estas informaes tm de ser rpido. Como exemplo da aplicao de arquivos indexados temos: empresas areas, trabalhos em bancos, sistemas de dados militares. Arquivos indexados tambm so usados quando os dados so altamente variveis e dinmicos, ou seja, quando necessitamos recuperar registros que satisfaam em mais de um campo.

Atualizao de registro em um arquivo indexado


Uma atualizao em um arquivo indexado consiste na pesquisa do registro, a atualizao dos dados do registro, seguido pela mudana daqueles ndices para o qual o novo registro contm valores a serem mudados. A atualizao na maioria das vezes mais dispendiosa que a insero e as tcnicas para prorrogar parte do processo de atualizao podem ser bem teis para abrir o tempo de resposta para o usurio. Pequenas mudanas de valores Quando uma atualizao muda um pouco um determinado valor, possvel que tanto o velho quanto o novo valor caam no mesmo bloco. Distribuio de atualizao no-uniforme A atualizao tende a ser periodicamente pesada em uma rea de depois ela se concentra novamente em outros atributos. Considere por exemplo, um arquivo de estoque de mercado, por algumas horas h grande atividade em um estoque que novidade e mais tarde, poder haver pouca atividade l. Estas irregularidades afetam o desempenho do sistema.

Elaborado e gentilmente cedido por: Prof. Osvaldo Alves dos Santos

Universidade Estadual de Maring UEM Departamento de Informtica - DIN Algoritmos e Estruturas de Dados II Ler por inteiro um arquivo indexado Para que se possa ler um arquivo indexado por inteiro podemos optar por 2 mtodos: - Ler os registros atravs da estrutura de ndices, no caso necessitaremos de ndices exaustivos. - Ler os registros atravs da alocao de espao, onde teramos uma caminhada seqencial pelo arquivo sem se preocupar com a estrutura de ndices tomando os espaos em branco do arquivo de dados. Reorganizao de arquivos indexados Os arquivos indexados no necessitam de uma reorganizao peridica como os outros arquivos. A reorganizao de um ndice especfico se far necessria em arquivos indexados aps atualizaes, delees ou inseres. Recuperao atravs de uma combinao parcial O acesso feito lendo mais de um atributo de cada vez. Vrios atributos esto combinados em um pedido de recuperao. Um importante uso de se ler ndices com vrios atributos a reduo na pesquisa para pedidos de informao com combinao parcial. Uso de ndices mltiplos Para uma busca de recuperao de um determinado registro todos os argumentos de um pedido de informao so passados para os ndices.

Seleo de indices
muitos arquivos e sistemas de bancos de dados no tm a capacidade de manipular TIDs neste caso, torna-se importante escolhermos o ndice mais seletivo para esta questo mesmo quando ns podemos combinar ndices, como visto acima, no vale a pena unir ndices com uma seletividade relativamente baixa nem deveriam ser indexados. A avaliao da seletividade de uma atributo muito difcil. A maioria dos sistemas fazem a suposio de uma distribuio uniforme dos ndices. infelizmente, distribuies uniformes so raras, a no ser que a repartio de valores dos atributos tenha sido planejada deste jeito. Na prtica, mais comum a ocorrncia de outros valores. A avaliao pode ser melhorada se for mantida, para cada atributo, alguma informao adicional. Para pequenas consultas de valores, as contas atuais podem ser mantidas. Contas podem dar valores exatos. Conservando, ao invs da escala do limite de dez da distribuio de valores, permite uma avaliao mais precisa dos valores contnuos num esquema melhor manter os patamares de distribuio, onde a separao tem tamanhos iguais. A distribuio de informaes tendem a ser associadas a ndices e so mais facilmente atualizadas que os prprios ndices. Quando apenas poucos parmetros so mantidos para descrever a distribuio, ns podemos encontrar a informao no bloco raiz e

Elaborado e gentilmente cedido por: Prof. Osvaldo Alves dos Santos

Universidade Estadual de Maring UEM Departamento de Informtica - DIN Algoritmos e Estruturas de Dados II rapidamente recuper-la. os valores no bloco raiz j dispem de uma estimao inicial das caractersticas da distribuio para cada sub-rvore que dever ser similar.

ndices mltiplos para queries de combinao parcial


Ns mostramos tcnicas para melhorar o desempenho dos acessos com combinao parcial. isto , lidando com QUERIES que especificam mais que um atributo. Acessar alguns ndices para uma recuperao PARTID-MATCH muito custosa. Podemos reduzir o nmero de ndices necessrios pela criao de ndices adicionais que combinam mltiplos atributos.

ndices de combinao parcial


Um ndice no necessariamente baseado em um simples atributo, mas pode ser baseado em entradas que contm a concatenao de muitos campos de um registro se observarmos que dois ou mais atributos ocorrem juntos ns podemos construir um nico ndice para aqueles atributos especficos. O nmero e o tamanho das chaves e conseqentemente o tamanho de um ndice combinado ser muito maior tanto que o fanout poder ser menor que o tamanho de um ndice de atributo nico.

Elaborado e gentilmente cedido por: Prof. Osvaldo Alves dos Santos

Você também pode gostar