Transcript

Bancos de Dados: Algoritmos para processamentoe otimizao de consultasUma consulta escrita em uma linguagem de consulta, como SQL, lida pelo SGBD, analisada e validada. As tcnicasutilizadassoasmesmasquesoaprendidasemTeoriadosCompiladores. Inicialmentesoverificadosostokens(smbolos), enquanto o analisador sinttico verifica se o cdigoest escrito de acordo com as regras da linguagem. Aconsulta validada , ento, traduzida para uma expresso em lgebra relacional estendida, representada por uma rvorede consulta, que ento otimizada pelo otimizador de consultas. Um SGBD implementa diversos mtodos de acessopara realizar uma consulta, e ao se escrever um cdigo e execut-lo, o otimizador de consultas estimar o custo de cadamtodo de acesso e aplicar aquele com o menor custo previsto.Algoritmos para SeleoExistemdiversosalgoritmosparaexecutar umcomandoSELECT, queumaoperaodepesquisaparalocalizararquivos em disco que atendam a uma determinada condio proposta.Osmtodosdepesquisamaissimplessoaquelesquenopossuemumacondioestabelecidaouquepossuemapenas uma condio simples. So conhecidos como varreduras de arquivos porque varrem registros em busca daquelesque cumpram uma determinada condio.Pesquisa Linear: recupera cada registro do arquivo e testado se os valores dos atributos correspondem a condiodada.Pesquisabinria: seoarquivoordenadoeacondioenvolvemacomparaocomumatributochave, apesquisa binria pode ser utilizada para agilizar a busca.ndice primrioou chave hash para um nico registro: seacondio de seleo envolvera comparao deigualdade com um atributo chave, pode ser utilizado o ndice primrio ou uma chave hsh para recuperar os dados.Estes mtodos, no entanto, retornam um nico registro.ndice primrio para diversos registros: se a condio de seleo envolver comparaes de >,


Recommended