Questão de Informática #019f69c6
(Q89) Julgue o item a seguir, referente a conceitos de banco de dados e transações:
Por princípio, a consistência pressupõe que uma transação inconsistente deve levar o banco de dados de um estado inconsistente para o estado consistente.
Certo
Errado
Explicação Oficial / Explicações da Comunidade
A questão está errada porque inverte e distorce as definições clássicas de Consistência no contexto de transações em Bancos de Dados Relacionais (propriedades ACID: Atomicidade, Consistência, Isolamento e Durabilidade).
Para entender o erro, vamos analisar os conceitos corretos:
-
O que é a Consistência (C do ACID)?
A consistência garante que uma transação leve o banco de dados de um estado consistente para outro estado consistente. Isso significa que todas as regras de integridade (chaves primárias, chaves estrangeiras, restrições de tipo, regras de validação, etc.) devem ser integralmente respeitadas antes e depois da execução de qualquer transação. -
O erro da afirmação:
- "Transação inconsistente": Uma transação que viole as regras de integridade do banco de dados (uma transação inconsistente) não deve ser concluída. O Sistema de Gerenciamento de Banco de Dados (SGBD) deve abortar essa transação (rollback), desfazendo qualquer alteração para que o banco permaneça no seu estado íntegro original.
- "De um estado inconsistente para o estado consistente": O banco de dados nunca deve iniciar de um estado inconsistente. O ponto de partida de qualquer transação é sempre um estado previamente consistente.
Portanto, o correto seria dizer: "A consistência pressupõe que uma transação consistente deve levar o banco de dados de um estado consistente para outro estado consistente."