Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FUNDATEC 2025

Banco de DadosSQL
Código
qg483667
Banca
FUNDATEC
Órgão
UFCSPA - RS
Ano
2025
Nível
Superior
Cargo
Analista de Tecnologia da Informação
No tempo em que uma transação em SQL é realizada, os dados alterados por ela são inseridos em um repositório temporário até que seja aplicado um comando que torne definitiva toda e qualquer alteração realizada pela transação. Qual é esse comando?
  1. ASAVE
  2. BSAVE DATA
  3. CROLLBACK
  4. DCHECKPOINT
  5. ECOMMIT
Revelar gabarito e comentário

GabaritoE — COMMIT

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”.

SQL: Controle de Transações (TCL)

Gabarito: letra E. O comando que torna definitivas as alterações de uma transação é o COMMIT. Ele confirma todas as operações realizadas desde o início da transação, gravando-as permanentemente no banco de dados. Os comandos SAVE, SAVE DATA, ROLLBACK e CHECKPOINT não têm essa função.

O enunciado descreve o comportamento típico de uma transação SQL: as modificações ficam em um repositório temporário (buffer) até que um comando as efetive. Esse repositório é chamado de área de transação ou log temporário, e o comando que finaliza a transação e consolida os dados é o COMMIT.

A sublinguagem responsável pelo controle de transações é a DTL (Data Transaction Language) ou TCL (Transaction Control Language), cujos comandos principais são BEGIN TRANSACTION, COMMIT e ROLLBACK. O SAVEPOINT também faz parte, mas serve para marcar pontos intermediários.

  1. 1BEGIN TRANSACTION
  2. 2Operações (UPDATE/INSERT/DELETE)
  3. 3Dados em buffer temporário
  4. 4[+] COMMIT (confirma)
  5. 5[-] ROLLBACK (desfaz)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

SAVE não é um comando SQL padrão. O comando similar é SAVEPOINT, que cria um ponto de salvamento dentro de uma transação, mas não a finaliza. Confundir SAVE com SAVEPOINT ou COMMIT é um erro clássico.

Alternativa B — ❌ Incorreta

SAVE DATA não existe na linguagem SQL. Não há previsão de comando com esse nome no padrão ISO ou nos principais SGBDs.

Alternativa C — ❌ Incorreta

ROLLBACK desfaz todas as alterações realizadas na transação, revertendo o banco ao estado anterior ao BEGIN TRANSACTION. Ele é o oposto do COMMIT. Portanto, não torna as alterações definitivas, mas sim as elimina.

Alternativa D — ❌ Incorreta

CHECKPOINT é um comando usado para forçar a gravação dos buffers do banco em disco, sincronizando o log. Embora ajude na recuperação, ele não finaliza nem confirma uma transação; é um mecanismo interno do SGBD.

Alternativa E — ✅ Correta ⟵ GABARITO

COMMIT é o comando correto. Após sua execução, todas as alterações da transação são confirmadas e tornam-se permanentes, visíveis para outras transações e persistentes mesmo em caso de falha. Exemplo:

BEGIN TRANSACTION;
UPDATE conta SET saldo = saldo - 100 WHERE id = 1;
UPDATE conta SET saldo = saldo + 100 WHERE id = 2;
COMMIT;
NÃO CAIA NESSA!

A banca explora a confusão entre COMMIT (finaliza e confirma) e ROLLBACK (desfaz). Também tenta o candidato com comandos inexistentes (SAVE, SAVE DATA) e com CHECKPOINT, que é um comando de administração, não de transação. Lembre-se: quem "torna definitiva" a transação é o COMMIT.

Gabarito: letra E.

Link permanente: /questoes/qg483667