FC ConcursosFC Concursos

Questão FC546296

Uma equipe da Secretaria da Fazenda está desenvolvendo um sistema para armazenar e consultar dados de auditorias fiscais usando um banco de dados NoSQL baseado em documentos. Cada

Sistema de Gerenciamento de Banco de Dados (SGBD)

FCC · 2025

Uma equipe da Secretaria da Fazenda está desenvolvendo um sistema para armazenar e consultar dados de auditorias fiscais usando um banco de dados NoSQL baseado em documentos. Cada auditoria é armazenada como um documento JSON, contendo um campo "irregularidades", que é um grande array listando todas as infrações identificadas. É necessário recuperar todas as auditorias em que pelo menos uma irregularidade seja classificada como "grave". Em condições ideais, a abordagem mais adequada e eficiente para realizar essa consulta é:

  1. Utilizar uma consulta que aproveite um operador nativo do banco NoSQL para busca dentro de arrays, garantindo que o sistema encontre os documentos que contenham elementos correspondentes à condição desejada.
  2. Filtrar os documentos fazendo a iteração sobre todos os elementos do array no código da aplicação, verificando se a irregularidade é classificada como "grave".
  3. Utilizar uma consulta tradicional baseada em igualdade, buscando diretamente pelo campo "irregularidades" contendo o valor "grave", pois todos os resultados possíveis são automaticamente retornados.
  4. Aplicar um tripleindex no campo "irregularidades", garantindo que todas as auditorias que possuam irregularidades sejam rapidamente acessadas, sem a necessidade de um operador específico para busca dentro do array.
  5. Criar um modelo relacional dentro do banco NoSQL, armazenando as irregularidades em uma coleção separada e utilizando junções para correlacionar os dados das auditorias com as infrações.
Mostrar resposta e comentário

Gabarito

A

Comentário do professor

Utilizar um operador nativo para busca dentro de arrays aproveita a capacidade do banco de dados documental de testar elementos internos sem desestruturar o documento. Esse recurso permite localizar documentos que contenham pelo menos uma irregularidade com a condição desejada diretamente no servidor, reduzindo leitura e processamento.

Além de ser funcional, é mais eficiente porque a consulta pode explorar indexação multichave sobre o campo do array, evitando varreduras completas dos documentos e melhorando desempenho em coleções grandes.

Exemplo prático: em bancos como MongoDB use dot notation ou $elemMatch, por exemplo {"irregularidades.classificacao":"grave"} ou {"irregularidades": {$elemMatch: {classificacao: "grave"}}} para casos com múltiplas condições no mesmo elemento.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo