sábado, 19 de janeiro de 2013

ANP 2012 - BANCO DE DADOS




63
Gabarito: C

Comentário: Na serialização uma transação é executada após outra terminar, mas para aumentar a performance elas podem ser executadas paralelamente. Para que esta execução não altere o resultado final são feitos alguns ajustes na sequência de execução.

Exemplo 1: A transação T1 : read(A),write(A) e a transação T2: read(B),write(B)
Podem ser executadas em qualquer ordem pois não afeta o resultado final.

Exemplo 2: A transação T3 : read(A),write(A) e a transação T4: read(A),write(A)

Não pode ser alterada a ordem, pois isso alteraria o resultado final.

Levando-se em conta as ordens originais das transações, podemos alterar a ordem mas sempre mantendo o resultado final assim:

Ordem Original:
T1: read(A)
write(A)
T2: read(B)
write(B)


Ordem Alterada:
read(A)
read(B)
write(A)
write(B)

Desta forma a afirmação da questão está correta, como exemplo:

Ordem Original:
T1: read(A)
read(B)
T2: read(A)
write(A)
write(B)
T3: read(B)
write(A)
read(B)
write(B)


Ordem Alterada:
read(A) - T1
read(A) - T2
read(B) - T1
read(B) - T3
write(A)- T2
write(B)- T2
write(A)- T3
read(B) - T3
write(B) - T3

Vemos que a ultima leitura de read(B) de T3 acontece e que a T2 alterou B depois da própria T3 ter efetuado a primeira leitura. Importante notar que o resultado final é o mesmo.

64
Gabarito: E

Comentários:
A propriedade atomicidade diz que ou todas as transações serão efetuadas ou nenhuma mudança irá ocorrer no banco,ou seja, não tem a ver com a soma das entradas e saídas.

Nenhum comentário:

Postar um comentário