Transações em banco de dados
Normalmente, considera-se que um conjunto de várias operações no banco de dados é uma única unidade do ponto de vista do usuário. Por exemplo, a transferência de fundos de uma conta corrente para uma poupança é uma operação única sob o ponto de vista do cliente; dentro do sistema de banco de dados, porém, ela envolve várias operações. Evidentemente, é essencial a conclusão de todo o conjunto de operações, ou que, no caso de uma falha, nenhuma delas ocorra. Seria inaceitável o débito na conta sem o crédito na poupança. As operações que formam uma única unidade lógica de trabalho são chamadas de transações. Um sistema de banco de dados precisa garantir a execução apropriada das transações a despeito de falhas ou a transação é executada por completo ou nenhuma parte dela é executada. Além disso, ele deve administrar a execução simultânea de transações de modo a evitar a ocorrência de inconsistências. Utilizando como exemplo uma transferência de fundos, uma transação que calcula o total de dinheiro do cliente poderia trabalhar com o saldo da conta corrente antes do débito feito pela transação de transferência e, também, verificar o saldo da poupança depois do crédito. Com isso, obteria um resultado incorreto.
1.1 – CONCEITO DE TRANSAÇÃO Uma transação é uma unidade de execução de programa que acessa e, possivelmente, atualiza vários itens de dados. Uma transação, geralmente, é o resultado da execução de um programa de usuário escrito em uma linguagem de manipulação de dados de alto nível ou em uma linguagem de programação (por exemplo, SQL, COBOL, C ou Pascal), e é delimitada por declarações (ou chamadas de função) da forma BEGIN TRANSACTION e END TRANSACTION. A transação consiste em todas as operações ali executadas, entre o começo e o fim da transação. Para assegurar a integridade dos dados, exigimos que o sistema de banco de dados mantenha as seguintes propriedades das transações:
• Atomicidade. Ou todas as operações da transação são refletidas