Pular para o conteúdo principal

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

Banco de DadosSQL
Código
qg162649
Banca
FUNDATEC
Órgão
Câmara de Venâncio Aires - RS
Ano
2024
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Analise as assertivas abaixo, as quais apresentam comandos escritos na linguagem SQL padrão ANSI:I. DELETE FROM TB_USUARIO;II. TRUNCATE TB_USUARIO;III. DROP TABLE TB_USUARIO;Considerando que a tabela TB_USUARIO é a única tabela existente no banco de dados e que contém dados, quais dos comandos acima, ao serem executados, excluiriam todos as linhas da tabela TB_USUARIO, mantendo a estrutura da tabela?
  1. AApenas I.
  2. BApenas III.
  3. CApenas I e II.
  4. DApenas II e III.
  5. EI, II e III.
Revelar gabarito e comentário

GabaritoC — Apenas I e II.

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

Comandos SQL: Exclusão de Dados vs. Estrutura

Gabarito: letra C (apenas I e II). A questão testa a diferença entre comandos que removem apenas os dados (DELETE e TRUNCATE) e o que remove também a estrutura da tabela (DROP). Tanto DELETE FROM (sem cláusula WHERE) quanto TRUNCATE eliminam todas as linhas, mas preservam a tabela para novos registros. Já DROP TABLE destrói a tabela por completo.

A banca cobra a classificação dos comandos SQL quanto ao efeito sobre os dados e a estrutura. O ponto central é que DELETE é um comando DML (remove linhas, mantém estrutura), TRUNCATE é DDL (remove todas as linhas, também mantém a estrutura, mas não é registrado no log transacional como o DELETE), e DROP é DDL que elimina a tabela inteira.

Comando SQL

Remove todas as linhas?

Mantém a estrutura da tabela?

Classificação

DELETE FROM TB_USUARIO

Sim

Sim

DML

TRUNCATE TB_USUARIO

Sim

Sim

DDL

DROP TABLE TB_USUARIO

Sim

Não

DDL

Comandos SQL (exclusão de dados)
  • 1Mantêm a estrutura
    • DELETE (DML)
      • Remove linhas
      • Log transacional
    • TRUNCATE (DDL)
      • Remove linhas
      • Sem log transacional
  • 2Não mantêm a estrutura
    • DROP (DDL)
      • Remove tabela inteira
LEVEL · soulevel.com.br

Item I — ✅ Correto

DELETE FROM TB_USUARIO; remove todas as linhas da tabela, pois não há cláusula WHERE. A estrutura da tabela permanece intacta. Comando DML válido na SQL ANSI.

Item II — ✅ Correto

TRUNCATE TB_USUARIO; (embora a sintaxe completa ANSI seja TRUNCATE TABLE TB_USUARIO;) remove todas as linhas e preserva a estrutura da tabela. É um comando DDL, mais rápido que DELETE para limpar toda a tabela. A ausência da palavra TABLE no enunciado não invalida o comando para os fins da questão — a banca considera como válido.

Item III — ❌ Incorreto

DROP TABLE TB_USUARIO; exclui a tabela inteira (dados + estrutura). Após sua execução, a tabela não existe mais, portanto não mantém a estrutura. Logo, não atende ao requisito.

Conclusão: Apenas os comandos I e II eliminam todos os dados sem apagar a tabela. Portanto, o gabarito é a letra C (Apenas I e II).

Link permanente: /questoes/qg162649