Pular para o conteúdo principal

Questão de Banco de Dados — Modelagem de dados — CESGRANRIO 2010

Banco de DadosModelagem de dados
Código
cg031508
Banca
CESGRANRIO
Órgão
BACEN
Ano
2010
Nível
Superior
Cargo
Analista do Banco Central - Área 1
Utilizando-se o comando apresentado a seguir, foi criada a tabela TAB1, em uma base de dados, armazenada em um Sistema Gerenciador de Bancos de Dados (SGBD) relacional. Logo após a criação da tabela, ela foi carregada com 5 milhões de linhas, a partir de dados contidos em um arquivo texto.Imagem 015.jpgNão existem restrições de integridade na tabela, mas sabe-se que o valor da coluna CODIGO não se repete em diferentes linhas. Sabe-se, também, que existem cerca de 20 mil valores distintos para CODIGO_TAB2, sendo que as quantidades de ocorrências de cada um de tais valores na tabela são aproximadamente iguais. De forma análoga, existem 5 valores distintos para a coluna SITUACAO, e as quantidades de ocorrências de cada um desses valores na tabela também são aproximadamente iguais.Visando a atualizar os valores da coluna SITUACAO, um usuário irá executar repetidas vezes comando similar ao apresentado a seguir. Para cada execução do comando, o usuário substitui os valores das variáveis @VALOR_SITUACAO e @CODIGO por valores adequados. No entanto, a execução de tal comando de atualização está tendo desempenho insatisfatório.Imagem 016.jpgNesse contexto, qual a ação que pode gerar maior ganho de desempenho na execução do comando?
  1. ADefinição da chave primária na coluna CODIGO.
  2. BDefinição de constraints do tipo CHECK, nas colunas SITUACAO e CODIGO_TAB2, de forma a limitar os valores distintos que essas colunas podem conter.
  3. CCriação de um índice na coluna SITUACAO.
  4. DCriação de um índice na coluna CODIGO_TAB2.
  5. ECriação de um índice na coluna CODIGO.
Revelar gabarito e comentário

GabaritoD — Criação de um índice na coluna CODIGO_TAB2.

Link permanente: /questoes/cg031508