SóProvas


ID
27565
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2004
Provas
Disciplina
Banco de Dados
Assuntos

Considere as afirmativas abaixo sobre gerência de transações e indique a única correta.

Alternativas
Comentários
  • a) ERRADO: na leitura suja a transação lê valores escritos por uma transação que ainda NÃO foi confirmada.
    b) ERRADO: no read committed, é permitido visualizar apenas dados que já estejam inseridos.
    c) ERRRADO: rollback aborta a transação que está em andamento, impedindo que os as alterações nos dados nela realizadas sejam persistidos no banco de dados, não sendo possível "abortar algo já finalizado ("commitado")".
    d) CERTA
    e) ERRADO: O isolamento deve garantir que duas transações, executadas concorrentemente, devem ter o mesmo resultado se executadas em ordem serial. Há três fenômenos que infrigem o isolamento da transação: Leitura não Repetitiva, Leitura Suja e Leitura fantasma, sendo que o nível de isolamento seriável impede que esses fenômenos ocorram.
  • A) DIRTY READ, ou leitura suja, é a leitura que ocorre quando uma transação Alê um dado modificado por uma transação B antes da conclusão da transação B.

    B)READ COMMITED só permite que alterações feitas por uma transação A, após comitadas, sejam vistas por outras transações;

    C)Após um comando de COMMIT a transação não pode voltar ao seu estado incial;

    D)Correta

    E)Errado.  A consistência pode, por exemplo, ser atingida ao usar o nível de isolamento mais rigoroso - Serializable - que simula um comportamento em série ao escalonar as transações;

  • a) A leitura suja ocorre quando uma transação A lê um dado modificado pela transação B, antes que B termine, e a transação B termina com sucesso.

    R: Na verdade o Dirty read se dá quando se está lendo informações que ainda não foram comitadas, por uma transação B. Ou seja, a transação B pode ainda não ter acabado,mas, se ela der um commit nas suas modificações a Transação A poderá ver os dados quando fizer a leitura novamente. Isso em nada tem a ver com a transação B terminar antes ou depois de A.

    b) Se o nível de isolamento do banco de dados for read commited, as alterações realizadas por uma transação em um dado serão imediatamente vistas por outras transações, mesmo antes do término da primeira transação

    R: O erro está em dizer que as modificações serão vistas automaticamente, isso não é verdade pois a transação B precisa dar um commit para que A possa enxerga-las.

    c) Mesmo após a execução de um comando commit, é possível a uma transação retornar a seu estado inicial com a utilização de rollback.

    Isso não é possivel, pois fere o princípio da Consistência.

    d) Correta

    e) Em transações que ocorrem simultaneamente não existe qualquer garantia de que os dados lidos em um determinado momento são consistentes, independentemente do nível de isolamento utilizado.

    R: Isso não é verdade, a consistência ela se dá idependente do nível de isolamento. pois isso é Intrínseco ao Banco de Dados (ACID)