Transações de banco de dados referem-se a uma sequência de operações que são tratadas como uma única unidade lógica de trabalho. Em contextos de banco de dados, uma transação deve possuir quatro propriedades principais, conhecidas pelo acrônimo ACID:
Atomicidade (Atomicity): Garante que todas as operações dentro de uma transação sejam completamente efetuadas ou não sejam realizadas. Se uma parte da transação falhar, toda a transação deve falhar, e o banco de dados deve retornar ao estado inicial antes da transação começar.
Consistência (Consistency): Assegura que a transação leve o banco de dados de um estado consistente a outro estado consistente. Todas as regras e restrições de integridade do banco de dados devem ser mantidas.
Isolamento (Isolation): Determina que as operações de uma transação em andamento não sejam visíveis para outras transações até que a transação esteja completa. Isso previne interferências entre transações concorrentes.
Durabilidade (Durability): Garante que, uma vez que uma transação é confirmada (comitada), suas alterações são permanentes, mesmo em caso de falhas no sistema.
Um exemplo prático de transação seria uma transferência bancária, que envolve debitar uma quantia de uma conta e creditar a mesma quantia em outra conta. Ambas as operações devem ocorrer com sucesso para que a transação seja concluída; caso contrário, nenhuma das operações deve ser realizada.