Artigo de consulta sql

Disponível somente no TrabalhosFeitos
  • Páginas : 13 (3052 palavras )
  • Download(s) : 0
  • Publicado : 4 de dezembro de 2012
Ler documento completo
Amostra do texto
UNIVERSIDADE ESTADUAL DE CAMPINAS
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
INSTITUTO DE COMPUTAÇÃO

OTIMIZAÇÃO DE CONSULTAS RELACIONAIS
TRABALHO DE PÓS-GRADUAÇÃO

Alunos:

João Paulo Silva Cintra
Renato Capello

Professor: Geovane Cayres Magalhães

CAMPINAS,
2005

1.

INTRODUÇÃO
O seguinte trabalho abordará em detalhes uma típica otimização de consulta

relacional, onde serámostrado como é realizado o processo de uma consulta SQL. Assim,
quando uma consulta é enviada ao sistema, é necessário encontrar o melhor método para se
descobrir à resposta usando a estrutura de banco de dados existentes.
A otimização de consulta é o processo de selecionar o plano de avaliação de
consulta mais eficiente para uma consulta.
Então, a finalidade do otimizador de um banco dedados é livrar os usuários de
suas complexidades e das exigências necessárias para se conseguir consultas de forma
eficiente. Usar técnicas para reformular consultas em outra(s) que desempenham a mesma
funcionalidade, mas com tempo de resposta menor que a consulta original é uma das
principais características de um otimizador de consulta.
O otimizador faz com que reduza o esforço manual erepetitivo de identificar e
corrigir comandos de SQL realizados de maneira incorreta, causando em baixos
desempenhos. Isso é uma vantagem do otimizador evitando-se assim aquisição de novos
hardwares mais poderosos para se alcançar ainda mais quanto ao desempenho.
Por isto, um SGBD deve oferecer soluções eficientes para obter dados de um
banco de dados através de seu processador.
Serão apresentadosos conceitos básicos necessários para a compreensão de como
uma otimização de consulta relacional realiza suas tarefas em um sistema de banco de
dados por meio de instruções SQL.

2.

TRANSFORMAÇÃO DE CONSULTAS SQL PARA ÁLGEBRA
Em se tratando de otimização de consulta só faz sentido se falarmos em uma

linguagem de alto nível como é o caso do SQL que é uma linguagem de manipulação emodificação de estruturas do banco de dados.
Quando uma consulta SQL é realizada pelo usuário, estas são decompostas em
pequenas unidades chamadas de blocos de consulta, e estas são otimizadas um bloco por
vez. Já em relação aos blocos aninhados esses são tratados como uma chamada de uma subrotina, feita uma vez por tupla mais externa. São esses blocos que serão convertidos pela
álgebrarelacional.
O modelo relacional é sem dúvida uma das tecnologias de banco de dados mais
utilizada no mundo. Esse modelo é representado por operações da teoria dos conjuntos
como união, produto cartesiano, intersecção e diferença e por operações específicas para
banco de dados relacionais com a seleção, junção, agregação e projeção.
A primeira ação que o sistema tem de executar em uma consulta étraduzir a
expressão em uma expressão equivalente da álgebra relacional e representá-la em uma
estrutura de dados conhecida como árvore de consulta. Tendo convertido a representação
em uma forma interna melhor, o otimizador deve então decidir como avaliar a consulta
transformada representada pela forma convertida.
Um simples bloco de consulta em SQL não aninhado possui a cláusula SELECT
querelaciona os atributos que representam os dados desejados da consulta, a cláusula
FROM relaciona as tabelas envolvidas na consulta, a cláusula WHERE especifica as
condições de escolha das tuplas das tabelas, a GROUP BY agrupa tuplas que possuem o
mesmo valor para a lista de atributos de agrupamento em grupos e, sobre estes, são
aplicados funções de agregação. Por último a cláusula HAVING queespecífica as
condições de escolha dos grupos de tuplas produzidos pela cláusula GROUP BY.
Uma característica importante no modelo relacional que favorece seu desempenho
são os catálogos que oferece informações sobre a estrutura de dados, os tipos e formatos de
armazenamento e as restrições sobre os dados. Estas informações são armazenadas na

forma de tabelas e são requisitadas várias vezes e...
tracking img