SóProvas


ID
226249
Banca
CESGRANRIO
Órgão
EPE
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Um administrador de banco de dados recebeu a solicitação de atualizar, no sistema de controle de estoque, o nome de um produto. De acordo com esse pedido, ele deveria alterar, diretamente no banco de dados, o valor do campo nome em uma única linha de uma tabela. No entanto, ele errou ao colocar o nome solicitado no update. Ao perceber o equívoco, aplicou o rollback nessa transação. Nesse período, um usuário reclamou que, ao realizar uma consulta no sistema, esse produto apareceu com o nome errado. Considerando-se que o erro percebido pelo usuário foi o mesmo introduzido pelo administrador, que fenômeno ocorreu nessa situação?

Alternativas
Comentários
  • Dirty read: É quando minha conexão está lendo informações que ainda não foram comitadas, ou seja, a informação que li pode não existir ou mesmo ter sido modificada.


    Nonrepeatable read: a transação que lê a informação mais de uma vez obtém a cada leitura valores diferentes (número de linhas não muda)


    Phantom read: Aparecem e somem tuplas na mesma transação. (mudando número de linhas)

  • Dirty Read (ou Leitura Suja) - Leitura de dados não comitados. Aparece somente no nível de isolamento READ UNCOMMITTED.

    Nonrepeatable Read (ou Leitura não repetível) - Obtenção de valores diferentes em duas leituras de um mesmo dado numa mesma transação. Aparece no nível de isolamento READ COMMITTEDREAD UNCOMMITTED.

    Phanton Read (ou Leitura Fantasma) - Em duas leituras de uma tabela numa mesma transação, aparecem ou somem tuplas. Aparece no nível de isolamento REPEATABLE READREAD COMMITTED e READ UNCOMMITTED.

    O nível de isolamento SERIALIZABLE é único que não acontece nenhum destes três fenômenos. Vale lembrar também que robustez e performance de tempo são inversamente proporcionais neste cenário (portanto, serializable é o nível com pior desempenho de tempo, seguido pelo repeatable read e assim por diante).


    WriteNeverLock e Serializable Write - conceitos inventados pela banca.




  • Foi usado como nível de isolamento desta transação Read Uncommitted, que é o nível de isolamente menos restritivo e não adqure qualquer tipo de lock, logo pode acontecer os seguintes fenomenos indesejados:
    1. Dirty Read
    2. NonRepeatable read
    3. Phantom Read