João não sabe fazer consultas em banco de dados e buscou a ...

Próximas questões
Com base no mesmo assunto
Q3035760 Banco de Dados
João não sabe fazer consultas em banco de dados e buscou a literatura para fazer uma junção interna otimizada. Um dos pontos observados por João foi que suas relações não tinham seus registros fisicamente organizados, necessitando de uma ordenação externa. Os atributos de junção são atributos chave. Pares de blocos de arquivo são copiados para buffers de memória na ordem, e os registros de cada arquivo são varridos apenas uma vez cada um, para combinar com o outro arquivo.
O método de implementação da junção utilizado por João foi o(a):
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a C - ordenação - intercalação.

Vamos entender o conceito por trás da questão. O enunciado menciona que João precisa realizar uma junção interna otimizada em um banco de dados, onde as relações não estão ordenadas fisicamente. Os registros dos arquivos necessitam de uma ordenação externa, e os atributos de junção são chaves. Nesse contexto, um dos métodos clássicos e eficientes para lidar com essa situação é o método de ordenação - intercalação.

O método de ordenação - intercalação funciona em duas etapas principais:

  • Ordenação: Os dados de cada tabela são primeiro ordenados de acordo com os atributos de junção. Isso é necessário quando os dados não estão fisicamente organizados.
  • Intercalação: Após a ordenação, os dados são percorridos para realizar a junção, aproveitando a ordenação para otimizar o processo, reduzindo o número de comparações necessárias.

Agora, vamos analisar por que as outras alternativas estão incorretas:

A - loop alinhado: Este método é uma abordagem mais simples e menos eficiente, que envolve percorrer cada registro de uma tabela e compará-lo com todos os registros da outra tabela. Não é otimizado para situações onde o desempenho é crítico.

B - bloco alinhado: É uma variação do loop alinhado, mas utiliza blocos de dados ao invés de registros individuais. Ainda assim, não se aproveita da ordenação dos dados, tornando-o menos eficiente que a ordenação - intercalação.

D - único loop: Este método não se aplica à junção interna entre duas tabelas. É mais utilizado em situações onde apenas uma tabela é percorrida.

E - partição - hash: Este método utiliza uma técnica de hashing para dividir os dados em partições e unir essas partições. É eficiente para grandes volumes de dados, mas não foi indicado no enunciado como a técnica utilizada por João.

Com esses conceitos em mente, entendemos que a escolha do método de ordenação - intercalação é a mais adequada para a situação descrita.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

A intercalação (sorting) é um dos principais algoritmos utilizados no processamento de consulta. Por exemplo, sempre que uma consulta SQL especifica uma cláusula ORDER BY, o resultado da consulta precisa ser ordenado. A intercalação também é um componente chave nos algoritmos ordenação-intercalação (sort-merge) usados para JUNÇÃO e outras operações.

Intercalação externa refere-se a algoritmos de intercalação que são adequados para grandes arquivos de registros armazenados no disco que não cabem inteiramente na memória principal, como a maioria dos arquivos de banco de dados. O algoritmo de classificação externa típico usa uma estratégia ordenação-intercalação (sort-merge), que começa classificando pequenos subarquivos — chamados pedaços — do arquivo principal e depois mescla os pedaços classificados, criando subarquivos classificados maiores, que, por sua vez, são intercalados. O algoritmo ordenação-intercalação (sort-merge), como outros algoritmos de banco de dados, exige espaço de buffer na memória principal, onde a classificação e mesclagem reais dos pedaços são realizadas.

Elmasri • Navathe Sistemas de banco de dados 6a edição

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo