Processamento de Consultas em SGBDs
Giovani Schmidt de Freitas
Roberta De David
UNIFRA – Sistemas de Informação
1. Introdução
Processamento de Consultas definem atividades em sequencia que serão utilizadas pelos SGBDs para execução de consultas no banco de dados, elas deveram ser examinadas, analisadas e validadas. No SGBD a execução da consulta deve ser eficiente, portanto, teremos uma estratégia ligada ao numero de acessos necessários ao disco para realiza-lá. O SGBD deve então determinar uma estratégia de execução para recuperação dos resultados da consulta, dos arquivos internos do banco dedados. Utilizamos Álgebra Relacional como função de baixo nível, transformada pelo SGBD, a partir dai teremos a otimização da consulta.
2. Desenvolvimento
Os SGBDs analisam e avaliam consultas feitas pelos usuários, detendo-se aos campos, sintaxe e ausência de erros, geramos a expressão algébrica, a partir de então é feita a otimização e geração de código. Para uma mesma expressão algébrica, teremos vários algoritmos de execução, cabe ao SGBD analisar e traçar a estratégia de qual usar, onde teremos o mesmo retorno de dados só que da melhor forma (menos uso de hardware, mais velocidade de retorno). O processo de execução da consulta é realizado no modo interpretado ou no modo compilado, com a finalidade de alcançar o resultado da consulta. Se ocorrer algum erro em tempo de execução, uma mensagem de erro é gerada pelo processador em tempo de execução do banco de dados.
3. Algoritmos de Consulta
Há duas classes de algoritmos para os operadores, que são classificados como algoritmos baseados em operadores n-arios e baseados em junções (operadores binários). No entanto, o map e a junção são os operadores da álgebra de objetos que são implementados por esses algoritmos. O “naive pointer chasing” é o algoritmo mais conhecido para o operador n-ario. Com o componente Merge Join podemos combinar dados de duas ou mais fonte de dados, sejam bancos