Logo Passei Direto
Buscar

Direito

Outros
No contexto de banco de dados relacionais, a transação T executa as seguintes operações: O1 - Lê o saldo de uma conta x; O2 - Subtrai uma quantia desse saldo; O3 - Grava esse saldo recalculado. O saldo da conta está gravado em um único registro de uma tabela. Suponha que T esteja sendo executada por dois processos diferentes, P1 e P2, em paralelo. P1 deve retirar R$ 10,00 da conta 2345 e P2, R$ 30,00 da mesma conta. Considerando que as operações podem ser realizadas em diferentes ordens, analise as possíveis sequências de execução dessas operações, mostradas a seguir. As únicas sequências que podem ser admitidas pelo controle de concorrência, de modo a não introduzir erros no saldo final da conta, são:

(A) I e II;
(B) I e III;
(C) II e III;
(D) II e IV;
(E) III e IV.
User badge image
Aprendendo com Desafios

ano passado

Respostas

User badge image

Ed Verified user icon

ano passado

Vamos analisar as possíveis sequências de execução das operações para garantir a consistência do saldo final da conta: O1 - Lê o saldo de uma conta x; O2 - Subtrai uma quantia desse saldo; O3 - Grava esse saldo recalculado. Considerando que P1 deve retirar R$ 10,00 da conta 2345 e P2, R$ 30,00 da mesma conta, vamos analisar as sequências: I. P1 lê o saldo (digamos, R$ 100,00), subtrai R$ 10,00 (saldo recalculado: R$ 90,00) e grava esse saldo. Enquanto isso, P2 lê o saldo (ainda R$ 100,00), subtrai R$ 30,00 (saldo recalculado: R$ 70,00) e grava esse saldo. Essa sequência é válida, pois cada processo lê o saldo antes de modificá-lo. II. P1 lê o saldo (R$ 100,00), P2 lê o saldo (ainda R$ 100,00), P1 subtrai R$ 10,00 (saldo recalculado: R$ 90,00), P2 subtrai R$ 30,00 (saldo recalculado: R$ 70,00) e ambos gravam seus saldos recalculados. Essa sequência também é válida, pois cada processo lê o saldo antes de modificá-lo. III. P1 lê o saldo (R$ 100,00), P2 lê o saldo (ainda R$ 100,00), P2 subtrai R$ 30,00 (saldo recalculado: R$ 70,00), P1 subtrai R$ 10,00 (saldo recalculado: R$ 90,00) e ambos gravam seus saldos recalculados. Essa sequência também é válida, pois cada processo lê o saldo antes de modificá-lo. IV. P1 lê o saldo (R$ 100,00), P2 lê o saldo (ainda R$ 100,00), P1 subtrai R$ 10,00 (saldo recalculado: R$ 90,00), P2 subtrai R$ 30,00 (saldo recalculado: R$ 70,00) e ambos gravam seus saldos recalculados. Essa sequência não é válida, pois P2 deveria ter lido o saldo atualizado por P1 antes de realizar sua operação. Portanto, as únicas sequências que podem ser admitidas pelo controle de concorrência, de modo a não introduzir erros no saldo final da conta, são I e II. Assim, a alternativa correta é: (A) I e II.

Essa resposta te ajudou?

0
Dislike0
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar essa resposta. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Essa pergunta também está no material:

Mais perguntas desse material

Mais conteúdos dessa disciplina