Um experiente engenheiro de dados foi contratado para efe...

Próximas questões
Com base no mesmo assunto
Q1622513 Banco de Dados
Um experiente engenheiro de dados foi contratado para efetuar melhorias no banco de dados de determinado órgão público. Ao analisar a tabela de funcionários, o engenheiro implementou um índice, que é descrito pelo seguinte comando SQL.
Funcionario id_funcionario nome cargo id_departamento salario
CREATE INDEX idx_func_nome ON Funcionario (nome)
Qual é o objetivo do engenheiro de dados ao implementar esse comando?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: B

Para compreender a resposta correta desta questão, é importante entender o conceito de índices em bancos de dados. Um índice é uma estrutura que melhora a velocidade de operações de leitura em uma tabela, como consultas que utilizam a cláusula WHERE. Isso é conseguido através da criação de uma espécie de "mapa" que aponta para a localização dos dados na tabela, permitindo que o sistema de banco de dados encontre registros mais rapidamente sem ter que realizar uma varredura completa na tabela (full table scan).

Na questão apresentada, o comando CREATE INDEX idx_func_nome ON Funcionario (nome) cria um índice para a coluna nome da tabela Funcionario. Assim, o objetivo do engenheiro de dados ao implementar esse índice é melhorar o desempenho das consultas que filtram resultados com base na coluna 'nome'. Essa melhoria no desempenho ocorre porque o banco de dados pode utilizar o índice para acessar diretamente os registros que atendem a um determinado critério relacionado ao nome do funcionário, em vez de varrer toda a tabela.

Os índices são particularmente úteis em tabelas grandes, onde as operações de busca podem se tornar lentas devido ao grande volume de dados. No entanto, é importante notar que índices adicionam um custo de manutenção em operações de escrita (INSERT, UPDATE, DELETE), pois sempre que um dado é alterado, o índice também precisa ser atualizado. Portanto, eles são uma ferramenta poderosa, mas devem ser usados de forma estratégica.

A alternativa B é a correta porque está diretamente relacionada com o propósito principal de um índice, que é aumentar a eficiência na recuperação de dados baseada em uma coluna específica usada com frequência em consultas. As demais alternativas não representam o objetivo de criação de um índice: a alternativa A é incorreta porque a inserção de dados tende a ser mais lenta com índices; C confunde índices com a restrição de chave primária (PRIMARY KEY); D está errada porque a validação de dados é função de constraints, não de índices; e E é imprecisa, pois um índice na coluna 'nome' não afeta operações de agregação que utilizam 'id_departamento'.

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

GABARITO: LETRA B

geralmente aplicamos o index no atributo que sempre vai estar com uma clausula selecionada no where;

Gabarito B

Clique para visualizar este comentário

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