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.

I.
P2 processa O1; P2 processa O2; P2 processa O3; P1 processa O1; P1 processa O2; P1 processa O3;

II.
P1 processa O1; P1 processa O2; P1 processa O3; P2 processa O1; P2 processa O2; P2 processa O3;

III.
P1 processa O1; P1 processa O2; P2 processa O1; P1 processa O3; P2 processa O2; P2 processa O3;

IV.
P1 processa O1; P2 processa O1; P1 processa O2; P2 processa O2; P1 processa O3; P2 processa O3.

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: