Uma transação T1 pode ler um conjunto de linhas de uma tabe...

Próximas questões
Com base no mesmo assunto
Q2098258 Banco de Dados
Uma transação T1 pode ler um conjunto de linhas de uma tabela, provavelmente baseada em alguma condição especificada na cláusula WHERE SQL. Suponha, agora, que uma transação T2 insira uma nova linha que também satisfaça a condição da cláusula WHERE usada em T1 dentro da tabela usada por T1. Se T1 for repetida, então verá uma linha que não existia anteriormente. Qual é o tipo de violação de isolamento descrito?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: B - Leitura fantasma.

Explicação do Tema Central:

A questão aborda um conceito crucial em sistemas de banco de dados: o isolamento em transações. O isolamento é um dos quatro princípios do ACID (Atomicidade, Consistência, Isolamento e Durabilidade), que asseguram a integridade dos dados durante operações concorrentes em um banco de dados. É essencial compreender como as transações interagem e os possíveis problemas que podem surgir, como leituras inconsistentes.

Resumo Teórico:

Em transações de banco de dados, a leitura fantasma ocorre quando uma transação reexecuta uma consulta e obtém resultados diferentes devido à inserção ou remoção de linhas por outras transações que satisfazem a condição da consulta original. Isso é uma violação de isolamento em níveis de isolamento mais baixos, como o Read Committed.

Justificativa da Alternativa Correta:

A questão descreve um cenário onde uma transação T1 lê um conjunto de linhas baseado em uma condição WHERE, e uma transação T2 insere uma nova linha que satisfaz essa mesma condição. Se T1 for repetida, incluirá a nova linha, caracterizando a situação de leitura fantasma (Alternativa B).

Análise das Alternativas Incorretas:

A - Leitura de sujeira: Refere-se à leitura de dados não confirmados (não cometidos) de outra transação. Não se aplica aqui, pois a questão não indica que dados não confirmados foram lidos.

C - Leitura não repetível: Ocorre quando um valor é lido e, ao ser lido novamente, foi alterado por outra transação. Isso difere de leituras fantasmas, onde novas linhas são adicionadas ou removidas.

D - Deadlock: É uma situação onde transações ficam em espera indefinidamente devido a bloqueios mútuos. Não se relaciona com leituras inconsistentes.

E - Leitura não efetivada: Não é um termo padrão em teoria de banco de dados. Possivelmente uma alternativa "pegadinha" ou confusa.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo