🛡️ TRANSAÇÕES E AS PROPRIEDADES ACID
No coração de sistemas críticos (Bancos, Saúde), existe o conceito de Transação. Uma transação não é apenas um comando SQL, mas uma Unidade Lógica de Trabalho indestrutível. 🛡️🧩
Objetivo: Dominar os pilares ACID e o controle transacional (TCL) que garantem a integridade dos dados em cenários de alta concorrência.
📗 PASSO 1: O Escudo de Confiança (ACID)
Para garantir que o seu banco nunca entre em um estado corrupto, o SGBD aplica as propriedades ACID:
- ⚛️ Atomicidade (Tudo ou Nada): Se uma operação de 10 falhar, todas são desfeitas.
- ⚖️ Consistência (Regras): O banco garante que nenhuma regra de integridade seja quebrada (ex: CPF único).
- 🔒 Isolamento (Invisibilidade): Uma transação "não sabe" o que a outra está fazendo enquanto ocorre.
- 💾 Durabilidade (Permanência): Uma vez feito o COMMIT, o dado está salvo mesmo em falhas de energia.
📗 PASSO 2: Fluxo da Transação (TCL)
📊 Lógica de Controle Transacional
flowchart TD
START[▶️ BEGIN TRANSACTION] --> OP1[📝 UPDATE Saldo Lançamento]
OP1 --> OP2[📝 UPDATE Saldo Recebimento]
OP2 --> DEC{❓ Sucesso em Tudo?}
DEC -- SIM --> COM[✅ COMMIT: Salva em Disco]
DEC -- NÃO --> ROL[❌ ROLLBACK: Desfaz Tudo]
COM --> END[🏁 Fim]
ROL --> END
📗 PASSO 3: Cenário do Mundo Real (Transferência Bancária)
Sem transações ACID, se a energia cair após tirar o dinheiro de João e antes de entregar para Maria, o dinheiro simplesmente desapareceria.
🛠️ Implementação em SQL (Universal)
START TRANSACTION; -- Ou BEGIN no PostgreSQL
UPDATE contas SET SALDO = SALDO - 500 WHERE NOME = 'Joao';
UPDATE contas SET SALDO = SALDO + 500 WHERE NOME = 'Maria';
COMMIT; -- Se houver erro em qualquer linha, execute ROLLBACK;
📗 PASSO 4: Os Atores do Ecossistema
📊 Papéis e Responsabilidades
flowchart TD
DBA[👮 Administrador: DBA]
ENG[🛠️ Engenheiro de Dados]
USER[👤 Usuário Final]
subgraph SGBD [SGBD: Motor Transacional]
UC1((Configurar Isolamento))
UC2((Escrever Scripts Robustos))
UC3((Realizar Operações))
end
DBA --> UC1
ENG --> UC2
USER --> UC3
💡 Dica do Especialista: Níveis de isolamento altos garantem segurança total, mas podem reduzir a performance. Equilíbrio é a chave! 🚀🛡️