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)