Questão nº 58

Questão de Administração de Banco de Dados · FGV MPAL 2018 (nº 58)

FGV2018Analista do Ministério Público - Administrador de Banco de DadosAdministração de Banco de Dados
Gabarito: Bver comentário ↓

Observe o comando SQL a seguir.

```
drop table T1, T2 cascade
```

No MYSQL, esse comando

Resposta comentada

Gabarito Alternativa B

O comando DROP TABLE é usado para remover completamente uma ou mais tabelas de um banco de dados. Quando a palavra-chave CASCADE é usada junto, em um sentido geral de SQL, ela indica que o banco de dados deve remover não apenas o objeto especificado, mas também todos os objetos ou dados que dependem dele.

  • (A) Incorreta: O comando DROP TABLE T1, T2 indica que ambas as tabelas T1 e T2 serão removidas, não apenas T1.
  • (B) Correta: Este comando remove as tabelas T1 e T2. A opção CASCADE, embora em MySQL seja frequentemente ignorada para DROP TABLE (onde geralmente se espera que as dependências de chaves estrangeiras sejam tratadas explicitamente ou que a operação falhe), neste contexto de questão de prova, é interpretada como a remoção das tabelas e também dos registros em outras tabelas que possuem dependência (via chaves estrangeiras, por exemplo) dos dados em T1 e/ou T2. Ou seja, a ação de remoção "cascateia" para os dados dependentes.
  • (C) Incorreta: O comando DROP TABLE T1, T2 indica que ambas as tabelas T1 e T2 serão removidas, não apenas T2.
  • (D) Incorreta: Embora em MySQL a palavra-chave CASCADE seja de fato ignorada para o comando DROP TABLE (o que faria com que a remoção de tabelas com dependências de chaves estrangeiras falhasse, a menos que as chaves estrangeiras fossem removidas primeiro), a questão e seu gabarito oficial sugerem uma interpretação onde CASCADE tem o efeito de remover dados dependentes. A armadilha da banca aqui é que, para quem conhece as especificidades do MySQL, esta alternativa parece a mais correta em termos de implementação real, mas o gabarito oficial adota uma interpretação mais genérica ou de outros SGBDs para o CASCADE.
  • (E) Incorreta: O comando DROP TABLE T1, T2 CASCADE é sintaticamente válido no MySQL; a palavra-chave CASCADE é simplesmente analisada e ignorada, não causando um erro de sintaxe.

Fonte: FGV MPAL 2018 Analista do Ministério Público - Administrador de Banco de Dados (Caderno Tipo 1). 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