Pular para o conteúdo principal

Questão de Arquitetura de Software — Banco de Dados — Fundação FAPEC 2021

Arquitetura de SoftwareBanco de Dados
Código
qq634575
Banca
Fundação FAPEC
Órgão
PC-MS
Ano
2021
Nível
Superior
Cargo
FAPEC - - Perito Criminal - Área 01 (Análise de Sistemas, Engenharia da Computação e Ciências da Computação)
Transações são mecanismos importantes para o correto funcionamento de bancos de dados. Considerando um SGBD com suporte a transações, assinale a afirmativa correta.
  1. AQualquer comando que modifique uma tabela deverá sempre ser sucedido explicitamente por um comando commit.
  2. BE possível executar um conjunto de diversos comandos SQL de forma atômica apenas se o SGBD estiver instalado em um sistema multicore ou em um cluster.
  3. CEspera-se que o SGBD descarte ou realize o rollback de transações incompletas devido a uma reinicialização repentina do sistema (hard reboot).
  4. DApós realizar o commit de uma transação, é possível revertê-la através de um rollback.
  5. EOs comandos SQL rollback e revert são equivalentes e produzem o mesmo efeito.
Revelar gabarito e comentário

GabaritoC — Espera-se que o SGBD descarte ou realize o rollback de transações incompletas devido a uma reinicialização repentina do sistema (hard reboot).

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Transações em SGBD

Gabarito: letra C. Em SGBDs, transações são unidades lógicas de trabalho com propriedades ACID. Em caso de reinicialização repentina do sistema (hard reboot), o SGBD deve garantir atomicidade descartando ou realizando rollback de transações incompletas (não confirmadas). Isso é um comportamento padrão de recuperação após falhas.

  1. 1Início da transação
  2. 2Execução de comandos
  3. 3Falha (hard reboot)
  4. 4Rollback automático
  5. 5Estado consistente
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Afirma que qualquer comando de modificação deve ser sucedido explicitamente por commit. No entanto, muitos SGBDs operam em modo auto-commit, onde cada comando é confirmado automaticamente. Além disso, comandos podem ser executados dentro de uma transação explícita e não exigem commit imediato.

Alternativa B — ❌ Incorreta

A atomicidade de transações não depende do hardware (multicore ou cluster). É uma propriedade do gerenciamento de transações do SGBD, independente da arquitetura de processamento.

Alternativa C — ✅ Correta ⟵ GABARITO

Após uma reinicialização repentina (hard reboot), transações que estavam em andamento e não foram confirmadas (committed) devem ser desfeitas (rollback) ou descartadas, garantindo que o banco de dados retorne a um estado consistente. Esse é um princípio fundamental de recuperação de falhas.

Alternativa D — ❌ Incorreta

Após o commit, a transação é permanente. O rollback só pode ser aplicado a transações ainda não confirmadas. Tentar reverter uma transação já commitada viola a durabilidade (propriedade D do ACID).

Alternativa E — ❌ Incorreta

Não existe o comando SQL "revert". O comando correto para desfazer alterações não confirmadas é ROLLBACK. Portanto, não são equivalentes.

Conclusão: A única afirmativa correta é a C.

Link permanente: /questoes/qq634575