Na implementação do controle de concorrência na execução ...
Essa situação caracteriza-se sempre que
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C - uma transação lê dados gravados por outra transação que ainda não foi confirmada (committed).
Para entender essa questão, é crucial ter conhecimento sobre controle de concorrência em bancos de dados. O controle de concorrência garante que quando múltiplas transações estão acessando e alterando dados ao mesmo tempo, o resultado do sistema de banco de dados permanece consistente. O Dirty Read é um fenômeno indesejável que ocorre nesse contexto, onde uma transação lê dados que foram inseridos ou modificados por outra transação que ainda não completou seu ciclo de vida (ou seja, não foi committed).
A razão pela qual a alternativa C é correta, é que ela descreve exatamente a situação de um Dirty Read, onde os dados lidos por uma transação podem acabar não sendo parte do estado final do banco de dados, porque a transação que fez a alteração desses dados pode ser desfeita (rollback). Isso pode levar a decisões equivocadas, pois a leitura foi feita a partir de um estado transitório e potencialmente inválido do banco de dados.
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
4 problemas de consistência (por ordem crescente de dificuldade para seu tratamento pelos níveis de isolamento nos SGBD):
Perda de atualização: duas transações que ocorrem simultaneamente atualizam o mesmo dado. Isto pode ocorrer em uma seqüência segundo a qual uma das atualizações é perdida.
Leitura Suja: leitura de dados não confirmados de uma linha existente, podendo ocasionar a leitura de uma informação nunca confirmada.
Leitura Não-Repetida: duas leituras de dados na mesma transação não se repetem. Na segunda leitura, dados não existem ou foram modificados.
Leitura Fantasma: na leitura de um conjunto de dados (função de agregação), surgem novas informações no conjunto que podem gerar um conflito. Apesar das transações não acessarem tuplas em comum, diz-se que as transações entraram em conflito em uma tupla fantasma.
c-
dirty read:
uma transação atualiza um item e, a seguir, falha por alguma razão. E, em seguida, o item é acessado antes que ele volte ao seu valor original.
a dirty read occurs when a transaction reads data that has been modified by another ongoing transaction but has not yet been committed. If the transaction that made the changes rolls back or fails, the data that was read may turn out to be invalid or incorrect. Dirty reads are a problem because they lead to inconsistencies in the data.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo