Transação é cada execução de programa que realiza leitura e/ou escrita em um banco de dados. O PostgreSQL implementa este conceito resguardando as características ACID - atomicidade, consistência, isolamento e durabilidade.
Atomicidade - uma transação é totalmente executada ou totalmente revertida sem deixar efeitos no banco de dados
Consistência - os resultados são coerentes com as operações realizadas
Isolamento - a execução de uma transação não interfere ou sofre interferência em relação às demais transações em execução
Durabilidade - o resultado das transações deve ser persistido fisicamente no banco de dados.
Cada comando executado, seja de leitura ou escrita, gera uma transação implícita no PostgreSql, que gerencia a manutenção das características ACID.
Existem duas ressalvas a serem feitas:
- Em certas situações é interessante se agregar vários comandos como sendo integrantes de uma mesma transação, como por exemplo em uma transferência bancária que envolve a retirada de dinheiro de uma conta e o acréscimo em outra como se fosse apenas uma única operação lógica.
- Em outras situações se faz necessário sacrificar ou flexibilizar as características ACID em virtude da necessidade de maior desempenho.
Para executar estas atividades são disponibilizados comandos de controle de transação:
- BEGIN;
- COMMIT;
- ROLLBACK;
- START TRANSACTION;
- SAVEPOINT;
- SET TRANSACTION;
Nos próximos posts serão detalhados os comandos, suas sintaxes e funções, com exemplos.
Nenhum comentário:
Postar um comentário