Escolar Documentos
Profissional Documentos
Cultura Documentos
Com300-V18 Revisado
Com300-V18 Revisado
Transações
TRANSAÇÕES
• Um dos papéis de um SGBD é processar transações: um
conjunto de várias operações que são executadas sobre os
dados do banco de dados, e que devem ser vistas pelo usuário
do sistema como uma única unidade de processamento.
Begin End
transaction transaction Em Commit
Ativa efetivação Efetivada
parcial
Abort
Abort
Em
Encerrada
falha
read(A);
A := A - 50; Assegurar o isolamento é
read(A);
write(A);
responsabilidade do Controle
A := A * 1,5; de Concorrência.
read(B);
write(A);
B := B + 50;
write(B);
PROPRIEDADE DAS TRANSAÇÕES (ACID)
D – DURABILIDADE
✔
write(A); A := A - 50;
read(B);
write(A);
B := B + 50;
write(B); read(B);
T2 B := B + 50;
read(A); write(B);
A := A * 1,5; read(A);
write(A); A := A * 1,5;
write(A);
Valores iniciais:
T1 T1 T2 A = 100 B = 30
read(A);
A := A - 50;
read(A); Valores finais:
A := A * 1,5; A = 100 B = 80
✔
write(A);
write(A);
read(B);
read(A);
B := B + 50;
write(B); A := A - 50;
T2 write(A);
read(A); read(B);
A := A * 1,5;
B := B + 50;
write(A);
write(B);
Valores iniciais:
T1 T1 T2 A = 100 B = 30
read(A);
read(A); Valores finais:
A := A - 50; A = 150 B = 80
A := A - 50;
X
write(A);
read(B); read(A);
B := B + 50; A := A * 1,5;
write(B);
write(A);
T2
write(A);
read(B);
read(A);
A := A * 1,5; B := B + 50;
write(A);
write(B);
TRANSAÇÕES
Problemas em execuções concorrentes inadequadas ou
decorrentes de falhas:
Transações