SóProvas


ID
709375
Banca
FCC
Órgão
MPE-PE
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

No SQL, os controles de transação e concorrência definem diferentes tipos de isolamento para prevenir fenômenos indesejáveis que podem ocorrer em transações concorrentes. Estes fenômenos indesejáveis são: Dirt read, Nonrepeatable read e

Alternativas
Comentários
  • Existem basicamente três fenômenos que devem ser evitados pelos bancos de dados em caso de transações concorrentes e são eles:

    Dirty read: Leitura suja. Uma transação lê dados que outra transação não efetivada, ou seja, estes dados podem não ser os definitivos.

    Nonrepeatable read: Leitura não repetível. Ocorre quando uma transação precisa ler dados que já leu, porém eles foram alterados por outra transação.

    Phantom Read: Leitura fantasma. Muito similar a anterior, porém a nova leitura apesar de retornar dados diferentes, ainda satisfazem a condição imposta.
  • Na verdade existem 4 problemas de consistência (por ordem crescente de dificuldade para seu tratamento pelos níveis de isolamento nos SGBD). A questão aborda somente os 3 últimos:

    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.

    Bons estudos!


  • Além das dirty reads e unrepeatable reads, temos que nos preocupar também com as leituras fantasma, ou phantom reads. Esse problema é similar às leituras não repetíveis, no sentido em que há uma falha quando uma transação tenta ler duas vezes o mesmo item e houve uma alteração em seu valor entre as duas leituras. No caso dos fantasmas, a alteração confirmada deve ter sido uma inserção ou remoção de registros.

    Gabarito: D