TCL – Transaction Control Language
TCL (Transaction Control Language) é o subconjunto do SQL responsável pelo controle e gestão de transações em bases de dados relacionais. Uma transação é um conjunto lógico de operações SQL que devem ser executadas integralmente para garantir a integridade e a consistência dos dados.
Transações em SQL Standard são unidades lógicas de trabalho compostas por uma ou mais instruções SQL (como INSERT, UPDATE ou DELETE) que são tratadas como um único bloco indivisível pelo sistema de gestão de base de dados. O objetivo principal das transações é garantir a integridade, consistência e confiabilidade dos dados, mesmo diante de falhas ou acessos concorrentes.
Durante uma transação, todas as operações devem ser concluídas com sucesso para que as alterações sejam confirmadas na base de dados (COMMIT). Se ocorrer algum erro, todas as modificações realizadas durante a transação podem ser desfeitas (ROLLBACK), restaurando a base de dados ao estado anterior. Assim, as transações asseguram que os dados permaneçam íntegros e consistentes, evitando problemas como dados corrompidos ou inconsistentes.
As transações seguem as propriedades ACID:
- Atomicidade: todas as operações são executadas integralmente ou nenhuma é aplicada.
- Consistência: garantem que a base de dados permaneça num estado válido.
- Isolamento: transações concorrentes não interferem entre si.
- Durabilidade: uma vez confirmadas, as alterações persistem mesmo em caso de falhas.
Principais comandos TCL
- COMMIT: Confirma e torna permanentes todas as alterações realizadas na transação atual na base de dados.
- ROLLBACK: Desfaz todas as alterações realizadas na transação atual, retornando a base de dadoso ao estado anterior ao início da transação..
- BEGIN/SET TRANSACTION: Inicia uma nova transação, agrupando as operações subsequentes até que um COMMIT ou ROLLBACK seja executado.
