Otimização de consultas-exercicio
Disciplina: Sistema de Banco de Dados -Esp. 1 Tutor: Flávio Pelegrinelli.
Aluno: Hugo Miranda Pinto.
Unidade IV- Otimização de Consultas, ( 4 ) Atividade 6 - Responda as questões abaixo.
1) Explique o conceito de Transação em SGBD.
É qualquer operação de escrita em uma tabela em um banco de dados. Executar uma instrução UPDATE é uma transação por si só, assim como da mesma forma o é executar um DELETE ou um INSERT. Esse trio de comandos efetivamente altera o conteúdo dos dados dentro de uma tabela. Entretanto, comandos de alteração de estruturas de dados, como o ALTER TABLE, por exemplo, não são considerados transacionais.
2) Descreva o processo envolvido no processamento de uma consulta. Exemplifique este processo criando uma consulta e executando os passos envolvidos em seu processamento.
Um dos principais componentes de todo sistema de gerência de bancos de dados é o processador de consultas que, ao receber uma consulta Q, prepara um plano de execução para Q, consistindo de operações de mais baixo nível, implementadas pelo subsistema de armazenamento.
Diferentes técnicas podem ser usadas para processar, otimizar e executar consultas de alto nível, como as consultas feitas usando SQL. Uma consulta deve ser examinada (por meio de um scanner), analisada (por meio de um parser) e validada.
O scanner identifica os componentes da linguagem (tokens) no texto da consulta, enquanto o parser checa a sintaxe da consulta para determinar se essa foi formulada seguindo as regras de sintaxe (regras de gramática) da linguagem. A consulta também é validada por meio da checagem de que todos os nomes de atributos e tabelas são válidos e corretos semanticamente. Uma representação interna da consulta é então criada, geralmente usando-se uma estrutura de árvores ou grafos, chamada de árvore de consulta ou grafo de consulta.
O processamento da consulta é a busca de uma expressão equivalente, que torne mais