Unidade G - Linguagem de consulta estruturada - SQL

Controle de Transações

Algumas operações devem ser realizadas como se fossem uma só.

Exemplo: transferência de valores entre contas bancárias (debitar de uma conta e creditar em outra).

As Transações devem ser realizadas na totalidade quando obtiverem sucesso ou não ser realizadas no caso em que ocorra alguma falha.

Uma TRANSAÇÃO é uma unidade lógica de trabalho que NÃO deve ser subdividida.

Controle de Tansações – Propriedades ACID

– Atomicidade – a transação deve ser executada como uma unidade.

– Consistência – a transação deve deixar o banco de dados em um estado consistente.

– Isolamento – as transações devem se comportar como se tivessem acesso exclusivo ao banco de dados.

– Durabilidade – as modificações feitas por transações devem ser duráveis no banco (devem persistir).

Controle de Tansações – Instruções

Transação é controlada por três instruções

– BEGIN { WORK | TRANSACTION }; declara o início de uma transação.

– COMMIT [ WORK | TRANSACTION ]; indica que a transação teve sucesso.

– ROLLBACK [ WORK | TRANSACTION ]; indica que a transação será abortada, cancelando todas as alterações feitas, devendo voltar ao estado anterior à transação.

- Enquanto uma transação não é comitada (COMMIT), o banco de dados não faz as alterações das instruções da transação.

- Uma transação bloqueia os objetos que ela usa , não permitindo que outros usuários possam acessá-los, transações devem ser do menor tamanho possível.

Não mantenha transações abertas desnecessariamente no Banco de Dados.