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.
Nã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.
Nesse contexto, qual a ação que pode gerar maior ganho de desempenho na execução do comando?
Nã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.
Nesse contexto, qual a ação que pode gerar maior ganho de desempenho na execução do comando?- ADefinição da chave primária na coluna CODIGO.
- 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.
- CCriação de um índice na coluna SITUACAO.
- DCriação de um índice na coluna CODIGO_TAB2.
- ECriação de um índice na coluna CODIGO.