Buscar

ARQUITETURA DE SISTEMAS DE BANCO DE DADOS_A6

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aluno Matr.: 201910004448 
Disc.: ARQ.SIST.BAN.DADOS 2020.1 EAD (GT) / EX 
 
 
Prezado (a) Aluno(a), 
 
Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não 
valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. 
Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. 
Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 
 
 
 
1. 
 
 
Sobre a otimização de consultas por regras marque a alternativa correta. 
 
 
 
Pode ser realizada somente após a execução da consulta. 
 
 
É realizada durante a fase de análise sintática. 
 
Utiliza um conjunto de heurísticas para transformar a consulta em um plano de acesso. 
 
 
Planeja consultas aleatórias para encontrar a que atenda a regra com eficiência. 
 
 
Utiliza algoritmos de busca por um plano de menor custo no espaço de todos os planos. 
 
 
 
Explicação: 
Na otimização por regras o otimizador utiliza um conjunto de heurísticas para transformar a consulta em 
um plano de acesso. Por exemplo, o otimizador poderia sempre escolher utilizar um índice que esteja 
disponível sobre uma coluna. 
 
 
 
 
2. 
 
 
O método de Execução de junção onde os dados das duas tabelas são primeiramente ordenados 
denomina-se: 
 
 
Index Scan 
 
 
Hashing Join 
 
Sort/Merge Join 
 
 
Nested Loops 
 
 
Full Table Scan 
 
 
Explicação: 
Ordenação/Intercalação (Sort / Merge Join) 
-O SGBD classifica cada linha que participará do join, caso ainda não o tenha feito anteriormente, pela 
coluna utilizada na condição de join. 
-Em seguida, o SGBD faz o merge (fusão) dos resultados classificados de modo a combinar os pares 
iguais. 
 
 
 
3. 
 
 
A otimização heuristica compreende: 
 
 
A otimização da expressão algebrica gerada pela reescrita em um expressão mais eficiente 
 
 
A escolha dos algoritmos de busca 
 
 
A escolha dos métodos de acesso físico aos dados 
 
 
A análise das estatisticas da tabela 
 
 
A reescrita da consulta SQL em um forma canonica 
 
 
 
Explicação: 
OTIMIZAÇÃO HEURISTICA DE CONSULTAS 
Este tipo de otimização ocorre a partir da transformação da consulta SQL em uma expressão algébrica. 
A partir da expressão algébrica são realizadas operações de transformação visando obter uma expressão 
mais eficiente. Baseando-se na expressão otimizada o SGBD pode definir os métodos de acesso e os 
algoritmos adequados para a execução da consulta. 
 
 
 
 
4. 
 
 
Dadas as afirmações: 
I - Avaliar expressões e condições. 
II - Transformar um comando SQL em outro equivalente. 
III - Decidir como acessar o dado armazenado no banco de dados. 
Considerando as atividades que um otimizador deve executar, assinale as afirmações corretas. 
 
 
Somente I e II 
 
 
Somente II e III 
 
 
Somente I e III 
 
I, II e III 
 
 
Somente II 
 
Explicação: 
O otimizador pode necessitar as seguintes tarefas para otimização de um comando SQL: 
 Avaliar expressões e condições; 
 Transformar um comando SQL em outro equivalente; 
 Decidir como acessar o dado armazenado no banco de dados; 
 como executar um join quando o comando acessa mais que uma tabela; 
 Decidir e executar o caminho de acesso mais eficiente. 
 
 
5. 
 
 
É necessario termos estatisticas no banco de dados para que se possa realizar: 
 
 
 
Otimização por regra 
 
Otimização por Custo 
 
 
Otimização Euristica 
 
 
Geração de Código 
 
 
Reescrita da Consulta 
 
 
 
Explicação: 
Após a otimização heurística o SGBD irá analisar os metadados e escolher algoritmos para acesso físico 
ao conteúdo dos arquivos. 
Neste ponto ele pode utilizar duas abordagens: 
- Otimização por regras: o otimizador utiliza um conjunto de heurísticas para transformar a consulta em 
um plano de acesso. Por exemplo, o otimizador poderia sempre escolher utilizar um índice que esteja 
disponível sobre uma coluna. 
- Otimização por custo: o otimizador utiliza algoritmos de busca por um plano de menor custo no espaço 
de todos os planos de execução possíveis. Para a determinação do custo de um plano, o otimizador 
precisa consultar estatísticas sobre as tabelas do banco de dados. 
 
 
 
 
 
6. 
 
 
A etapa da execução da consulta onde é verifica a existencia das tabelas no banco de dados denomina-
se: 
 
 
otimização da consulta 
 
 
geração de código 
 
Análise semantica 
 
 
reescrita da consulta 
 
 
Análise Sintatica 
 
 
 
Explicação: 
 Análise Sintática: nesta etapa, a sintaxe da consulta é verificada e erros são apontados. Se 
a consulta estiver sintaticamente correta, o SGBD a submeterá à verificação de sua 
semântica. 
 Análise Semântica ou Validação: aqui o SGBD verifica a existência de tabelas, visões e 
colunas, bem como realiza verificações de tipos dos atributos e dados utilizados na consulta. 
 Reescrita de consulta: uma vez que a consulta é validada quanto a sua sintaxe e semântica, 
o banco de dados reescreve o SQL em uma representação interna mais simples e/ou mais 
eficiente (em geral, alguma representação canônica derivada da álgebra relacional). 
 Otimização da consulta: através de um conjunto de regras de transformação, o SGBD 
manipula a sua representação interna da consulta e procura a estratégia de execução 
considerada mais eficiente. 
 Geração de Código: de posse do plano de acesso otimizado, ocorrem as chamadas ao 
processador de execução (run time) do SGBD.

Outros materiais