Em bancos de dados relacionais, uma transação SQL é um
conjunto de uma ou mais operações, que constituem uma única
tarefa ou unidade lógica de trabalho a ser processada. Os SGBDs
devem garantir a execução correta das transações, mesmo que
venham a ocorrer falhas. A transação inicia quando o primeiro
comando é executado e termina conforme as situações
caracterizadas a seguir:
I. Se uma transação for concluída com sucesso, com todas as
operações bem-sucedidas, o BD será alterado
permanentemente, com os dados alterados persistidos e
salvos em disco.
II. Se houver falha em qualquer uma das operações que
compõem a transação, o BD deverá retornar ao estado
anterior ao início da transação.
As operações descritas em I e II são denominadas,
respectivamente: