Questão de Banco de Dados — Banco de Dados — CESGRANRIO 2007
Banco de DadosBanco de Dados
- Código
- cg026741
- Banca
- CESGRANRIO
- Órgão
- TERMOAÇU
- Ano
- 2007
- Nível
- Superior
Um usuário reclama que o banco de dados está inconsistente.Abaixo, uma parte do relatório que ele executa.(...)(1) select idproduto, quantidade from estoque;(...)(2) select count(*) from estoque;(...)Ele verifica que, frequentemente, o select (1) retorna uma quantidade de registros diferente da contagem em (2). Como se pode explicar o que está ocorrendo e qual a solução para o problema?
- AIsso só acontece se o banco de dados realmente estiver inconsistente. A solução é restaurar um backup.
- BOutras transações estão alterando os dados da tabela estoque. A solução é inverter os comandos (1) e (2) para garantir um bloqueio de intenção.
- CO relatório está concorrendo com outras transações que alteram os dados da tabela ‘estoque’. A solução é bloquear a tabela ou envolver o relatório em uma transação ‘somente leitura’.
- DPara melhorar o desempenho, o comando (2) opera somente sobre as estatísticas da tabela e não conta efetivamente os registros. A solução é contar os registros durante o comando (1).
- EO banco de dados está inconsistente. A solução é reconstruir os índices sobre as chaves primárias.