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.