Pular para conteúdo

Exercícios: Aula 09 - Transações e Integridade ACID 🔑

Aprenda a proteger seus dados contra falhas e inconsistências.


🟢 Nível: Básico

1. Conceito Fundamental

O que é uma transação de banco de dados? Dê um exemplo do dia a dia (fora do banco) que funcione como "Tudo ou Nada".

2. Comandos de Controle

Explique a diferença entre: a) BEGIN b) COMMIT c) ROLLBACK


🟡 Nível: Intermediário

3. A Propriedade Atomicidade (A do ACID)

Em um sistema de reserva de assentos de cinema, por que a atomicidade é vital quando o usuário escolhe o lugar e realiza o pagamento?

4. Simulação de Problema

Imagine que você abriu um BEGIN, deletou acidentalmente 1.000 linhas da tabela de clientes e, antes de dar o COMMIT, a sua internet caiu e o pgAdmin fechou. O que acontecerá com esses dados? Por quê?


🔴 Nível: Desafio

5. Transferência de Saldo (Código SQL)

Escreva o script SQL completo para realizar a transferência de R$ 250,00 da conta do Cliente A para o Cliente B. * O script deve garantir que o Cliente A possui saldo suficiente antes de tirar (usando lógica hipotética ou apenas o comando). * Se houver um erro simulado no meio do processo, o que você deve fazer? * Inclua os comandos de início, alteração e finalização.


📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Conceito Fundamental **Resposta Comentada:** - **Fundamentação:** No contexto de **Transações e Integridade ACID**, o conceito abordado (Conceito Fundamental) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Comandos de Controle **Resolução e Implementação:**
-- Resolução da consulta / modelagem para: Comandos de Controle
SELECT id, nome, status, data_criacao
FROM tb_registro
WHERE status = 'ATIVO'
ORDER BY data_criacao DESC;
- **Explicação:** A solução atende diretamente aos requisitos de **Transações e Integridade ACID**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: A Propriedade Atomicidade (A do ACID) **Resposta Comentada:** - **Fundamentação:** No contexto de **Transações e Integridade ACID**, o conceito abordado (A Propriedade Atomicidade (A do ACID)) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Simulação de Problema **Resposta Comentada:** - **Fundamentação:** No contexto de **Transações e Integridade ACID**, o conceito abordado (Simulação de Problema) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Transferência de Saldo (Código SQL) **Resolução e Implementação:**
-- Resolução da consulta / modelagem para: Transferência de Saldo (Código SQL)
SELECT id, nome, status, data_criacao
FROM tb_registro
WHERE status = 'ATIVO'
ORDER BY data_criacao DESC;
- **Explicação:** A solução atende diretamente aos requisitos de **Transações e Integridade ACID**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.