O analista João está analisando os dados de diversas fontes, carregando-os em um banco de dados relacional. Durante as cargas, diversas tabelas foram criadas, e agora João precisa fazer uma limpeza no seu banco de dados. Para remover uma tabela do banco de dados, João deve utilizar o comando:
- A)DROP;
Correta: DROP remove o objeto do banco de dados, como uma tabela, apagando sua estrutura e, em regra, seus dados.
- B)ALTER;
Errada: ALTER serve para alterar a estrutura da tabela, não para removê-la do banco.
- C)DELETE;
Errada: DELETE apaga registros da tabela, mas não elimina a tabela em si.
- D)UPDATE;
Errada: UPDATE modifica valores de registros existentes, sem excluir a tabela.
- E)TRUNCATE.
Errada: TRUNCATE limpa rapidamente os dados da tabela, mas mantém sua estrutura criada.
Gabarito: A
Quando a questão fala em remover uma tabela inteira do banco de dados, pense em comando de definição de dados (DDL), não em manipulação de linhas. O SQL separa bem as ideias: umas instruções mexem nos registros, outras mexem na estrutura do banco. E, para derrubar a tabela com tudo o que ela é, entra o comando de eliminação da própria estrutura. É por isso que o gabarito é DROP. Esse comando remove o objeto do banco, como tabela, índice ou view, apagando sua definição. Em geral, ele elimina a tabela e seus dados de forma definitiva, então não é algo para usar no impulso antes do café. Já DELETE atua sobre os registros dentro da tabela, linha por linha, mantendo a estrutura. TRUNCATE também limpa os dados, mas preserva a tabela, funcionando como uma remoção rápida do conteúdo. ALTER serve para modificar a estrutura, como adicionar ou retirar coluna. Ou seja: para tirar a tabela do banco, a ideia correta é destruir o objeto, não apenas esvaziá-lo. Em provas, especialmente da FGV, essa distinção entre estrutura e conteúdo aparece bastante. Se a pergunta pede remover a tabela, o foco é o objeto inteiro. Se pedisse apagar os dados da tabela, aí o raciocínio seria outro.