Questão de Banco de Dados — Conceitos Básicos em Banco de Dados — FGV 2024
Banco de Dados›Conceitos Básicos em Banco de Dados
Código
fg101477
Banca
FGV
Órgão
TRF - 1ª REGIÃO
Ano
2024
Nível
Superior
Cargo
Analista Judiciário - Área Apoio Especializado - Especialidade: Suporte em Tecnologia da Informação
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):
Aloop alinhado;
Bbloco alinhado;
Cordenação - intercalação;
Dúnico loop;
Epartição - hash.
Revelar gabarito e comentário▾
GabaritoC — ordenação - intercalação;
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Métodos de Junção em Banco de Dados
Gabarito: letra C. O método descrito é a junção por ordenação-intercalação (sort-merge join), que ordena externamente os arquivos (se necessário) e depois os percorre simultaneamente, varrendo cada registro uma única vez, combinando pares com chaves iguais.
A questão descreve uma "junção interna otimizada" onde as relações não estão fisicamente organizadas, exigindo ordenação externa. Os atributos de junção são chave, e os pares de blocos são copiados para buffers na ordem, com cada arquivo varrido apenas uma vez. Isso é a definição clássica do método sort-merge join.
Alternativa A — ❌ Incorreta
Loop alinhado (nested loop join) percorre um arquivo para cada registro do outro, resultando em múltiplas varreduras e não requer ordenação. Não se encaixa na descrição de "varridos apenas uma vez".
Alternativa B — ❌ Incorreta
Bloco alinhado (block nested loop join) é uma variação que opera em blocos, mas ainda assim requer múltiplas varreduras e não utiliza ordenação prévia.
Alternativa C — ✅ Correta ⟵ GABARITO
Ordenação-intercalação (sort-merge join): primeiro ordena ambos os arquivos com base nos atributos de junção (ordenação externa, já que não estão organizados) e depois realiza o merge, percorrendo cada arquivo uma única vez. Como os atributos são chave, não há repetições, otimizando o processo.
Alternativa D — ❌ Incorreta
"Único loop" não é um método reconhecido de junção em banco de dados.
Alternativa E — ❌ Incorreta
Partição-hash (hash join) utiliza funções hash para particionar e não requer ordenação externa. É otimizado para grandes volumes, mas não envolve ordenação.
PEGA ESSA DICA!
Para identificar o método de junção em questões, foque nas palavras-chave: "ordenação externa" e "varredura única" apontam para sort-merge join; "hash" e "particionamento" indicam hash join; "varredura aninhada" indica nested loop.