Você está na página 1de 4

Transao

Unidade lgica de processamento em um SGBD Composta de uma ou mais operaes


seus limites podem ser determinados em SQL

De forma abstrata e simplificada, uma transao pode ser encarada como um conjunto de operaes de leitura e escrita de dados
Tx read(x) x=xi read(y) y=y*x write(x) write(y)
l o dado X do BD e o armazena na varivel X

grava no dado Y do BD o valor da varivel Y

Estados de uma Transao


Uma transao sempre monitorada pelo SGBD quanto ao seu estado
que operaes j fez? concluiu suas operaes? deve abortar?

Estados de uma transao


Ativa, Em processo de efetivao, Efetivada, Em processo de aborto, Concluda Respeita um Grafo de Transio de Estados

Transio de Estados de uma Transao


reads e writes

Em Processo de Efetivao
iniciar transao

Ativa

finalizar transao transao deve ser desfeita

encerramento com sucesso

encerramento sem sucesso

Efetivada
concluso da transao com sucesso

Em Processo de Aborto concluso

da transao sem sucesso

Concluda

Transio de Estados de uma Transao


reads e writes

Em Processo de Efetivao
iniciar transao

Ativa

finalizar transao

encerramento com sucesso

transao deve

estado inicial de toda ser desfeita transao selecionada Efetivada transao deve para execuo ser desfeita enquanto ativa, uma concluso transao executa uma ou da transao mais operaes read e write

Em Processo de Aborto concluso

com sucesso

da transao sem sucesso

Concluda

Transio de Estados de uma Transao


reads e writes

Em Processo de Efetivao
iniciar transao

Ativa

finalizar transao

encerramento com sucesso

encerramento sem sucesso

Efetivada entra nesse estado aps executar sua ltima transao operao deve ser (solicitao de COMMIT ) desfeita concluso neste momento, o SGBD da transao precisa garantir que as suas com sucesso atualizaes sejam efetivadas Em Processo com sucesso (no sofra falhas) aplicao de tcnicas dede Aborto concluso
recovery

da transao sem sucesso

Concluda

Transio de Estados de uma Transao


reads e writes

Em Processo de Efetivao
iniciar transao

Ativa

finalizar transao

encerramento com sucesso

encerramento sem sucesso

deve entra nesse estadotransao aps o ser desfeita SGBD confirmar que todas as modificaes da transao esto garantidas no BD (COMMIT OK)
exemplos: gravao em Log, Em Processo descarga de todos os buffers em disco de Aborto

Efetivada
concluso da transao com sucesso concluso da transao sem sucesso

Concluda

Transio de Estados de uma Transao


entra nesse estado se no puder prosseguir a sua execuo pode passar para esse estado enquanto writes de efetivao (II) ativa (I)reads ou eme processo
exemplo (I): violao de RI Em Processo exemplo (II): pane no S.O. de Efetivao ?suas aes j realizadas devem ser desfeitas iniciar (ROLLBACK) finalizar

encerramento com sucesso

transao

Ativa

transao transao deve ser desfeita

encerramento sem sucesso

Efetivada
concluso da transao com sucesso

Em Processo de Aborto concluso

da transao sem sucesso

Concluda

Transio de Estados de uma Transao


estado final de uma transao reads e writes indica uma transao que deixa o sistema Em

iniciar transao

as informaes da transao mantidas em catlogo podem ser excludas finalizar ? operaes feitas, dados

Processo de Efetivao
...

encerramento com sucesso

transao Ativa manipulados, buffers utilizados,

encerramento sem sucesso

se a transao no concluiu com sucesso, ela pode ser reiniciada transao deve automaticamente

Efetivada
concluso da transao com sucesso

ser desfeita

Em Processo de Aborto concluso

da transao sem sucesso

Concluda