Questão nº 61

Questão de Informática/Banco de Dados · FGV MPMS 2012 (nº 61)

FGV2012Analista - Informática/Banco de DadosInformática/Banco de Dados
Gabarito: Bver comentário ↓

As declarações SQL, passíveis de serem desfeitas pela declaração ROLLBACK do MySQL versão 5.5, estão listadas a seguir, à exceção de uma. Assinale-a.

Resposta comentada

Gabarito Alternativa B

ROLLBACK é um comando SQL que desfaz todas as alterações de dados feitas desde o início de uma transação ou desde o último COMMIT. Ele só funciona para comandos que modificam dados (DML), como INSERT, UPDATE e DELETE, e não para comandos que definem a estrutura do banco de dados (DDL), que são auto-commit e não podem ser desfeitos.

  • (A) Incorreta: INSERT é um comando DML e pode ser desfeito por ROLLBACK. DROP TABLE é um comando DDL e não pode ser desfeito, além de implicitamente finalizar a transação. Como um dos comandos pode ser desfeito, esta não é a exceção onde nenhum pode.
  • (B) Correta: DROP DATABASE e ALTER TABLE são ambos comandos DDL (Data Definition Language). Comandos DDL modificam a estrutura do banco de dados (tabelas, bancos, etc.) e, no MySQL (e na maioria dos SGBDs), são auto-commit, ou seja, eles finalizam qualquer transação aberta e suas alterações são permanentes, não podendo ser desfeitas por um ROLLBACK. Esta é a exceção, pois nenhum dos comandos pode ser desfeito.
  • (C) Incorreta: UPDATE é um comando DML e pode ser desfeito por ROLLBACK. CREATE DATABASE é um comando DDL e não pode ser desfeito. Como um dos comandos pode ser desfeito, esta não é a exceção onde nenhum pode.
  • (D) Incorreta: DELETE e UPDATE são ambos comandos DML (Data Manipulation Language). Eles modificam dados dentro das tabelas e são totalmente passíveis de serem desfeitos por um ROLLBACK se executados dentro de uma transação. Esta alternativa não é a exceção.
  • (E) Incorreta: SELECT é um comando DQL (Data Query Language) e não modifica dados, portanto, não há nada para ser desfeito por ROLLBACK. INSERT TABLE (assumindo INSERT) é um comando DML e pode ser desfeito por ROLLBACK. A armadilha aqui é que SELECT não é "desfeito" porque não faz nenhuma alteração, mas INSERT sim. Como um dos comandos pode ser desfeito, esta não é a exceção onde nenhum pode.

Fonte: FGV MPMS 2012 Analista - Informática/Banco de Dados. Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho