Um banco de dados de uma aplicação web armazena as preferên...

Próximas questões
Com base no mesmo assunto
Q3035482 Banco de Dados
Um banco de dados de uma aplicação web armazena as preferências de idioma dos usuários em uma tabela separada para facilitar a internacionalização da interface. Considerando a necessidade de otimizar consultas frequentes que combinam informações de usuários e suas preferências de idioma, qual abordagem o desenvolvedor deveria adotar para melhorar o desempenho das consultas?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta para a questão é a Alternativa C: Implementar uma política de indexação composta nas colunas de usuário ID e idioma ID.

Vamos agora entender por que essa é a melhor escolha e o motivo das outras alternativas não serem tão adequadas.

Quando lidamos com bancos de dados, especialmente em aplicações web que exigem eficiência e velocidade, é crucial otimizar a forma como as consultas são realizadas. A questão aborda um cenário onde o desempenho das consultas é fundamental para combinar informações de usuários e suas preferências de idioma.

**Alternativa C:** A ênfase está na indexação composta. Essa técnica consiste em criar um índice que abrange mais de uma coluna, neste caso, as colunas de usuário ID e idioma ID. A vantagem é que o banco de dados pode acessar rapidamente as combinações dessas duas colunas, acelerando as consultas que precisam juntar dados de usuários com suas preferências de idioma. Com índices compostos, o banco de dados otimiza a busca alavancando a estrutura de dados subjacente, resultando em menor tempo de resposta para as consultas mais comuns.

**Alternativa A:** Criar uma view seria útil para simplificar a consulta para o desenvolvedor, mas não necessariamente melhora o desempenho. Views são representações de consultas armazenadas, mas não criam índices por si mesmas. Elas não trazem uma otimização de desempenho para o caso em questão, pois ainda dependeriam da eficiência dos índices já existentes ou da falta deles.

**Alternativa B:** Utilizar triggers para atualizar uma tabela agregada em tempo real pode ser útil em outros contextos, mas pode adicionar complexidade e overhead desnecessário. Triggers são executados como parte das operações de escrita, o que pode resultar em maiores tempos de execução e carga de processamento, especialmente se a tabela agregada for grande ou se as operações forem frequentes.

**Alternativa D:** A normalização até a 5ª forma normal é uma técnica de design que visa eliminar redundâncias e inconsistências, mas não é diretamente relacionada a melhorar o desempenho das consultas. Na verdade, uma normalização excessiva pode até complicar certas consultas, necessitando de mais joins, o que pode reduzir o desempenho.

Portanto, o uso de índices compostos é uma prática recomendada para cenários como o desta questão, onde a eficiência das consultas é essencial.

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