Professional Documents
Culture Documents
1
Exemplo: Multibanco
2
Multibanco (cont.)
3
Outro exemplo
4
Transacções
– Atomicity
– Consistency
– Isolation
– Durability
5
Propriedades “ACID”
6
COMMIT e ROLLBACK
7
Encadeamento de instruções
Programa 1
UPDATE conta // (updt1)
SET saldo = saldo - 100
WHERE numero = 333;
Programa 2
8
Encadeamento de instruções (cont.)
9
Exemplo
Instruç~
ao: (updt1) (updt3) (sum) (updt2)
Resultado: 600
???
10
A solução é usar transacções
Programa 1
BEGIN WORK;
COMMIT WORK;
11
Nı́veis de isolamento
1. SERIALIZABLE
2. REPEATABLE READ
3. READ COMMITTED
4. READ UNCOMMITTED
12
Exemplo
Programa 1
BEGIN WORK;
COMMIT WORK;
Programa 2
BEGIN WORK;
COMMIT WORK;
13
Exemplo (cont.)
Tempo
----------------------------------------------------->
P1.begin
updt1
updt2
P1.commit
P2.begin
updt3
sum
P2.commit
14
Nı́veis de isolamento (cont.)
1. SERIALIZABLE
2. REPEATABLE READ
3. READ COMMITTED
4. READ UNCOMMITTED
Em SQL:
15
SERIALIZABLE
• Prog1 = (begin)(updt1)(updt2)(commit)
Prog2 = (begin)(updt3)(sum)(commit)
16
READ COMMITTED
17
REPEATABLE READ
18
READ UNCOMMITTED
19
Em PostgreSQL
20