Pular para o conteúdo principal

Questão de Banco de Dados — MySQL — VUNESP 2023

Banco de DadosMySQL
Código
vu196986
Banca
VUNESP
Órgão
CIJUN
Ano
2023
Cargo
Ana ( )
O sistema gerenciador de bancos de dados MySQL v. 8.0 conta com um comando que possibilita corrigir eventuais problemas de corrupção de dados que tenham ocorrido em uma tabela. Esse comando é:
  1. AALTER TABLE …
  2. BREPAIR TABLE …
  3. CCLONE …
  4. DHANDLER …
  5. ETRUNCATE TABLE …
Revelar gabarito e comentário

GabaritoB — REPAIR TABLE …

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 de manutenção de tabelas no MySQL

Gabarito: letra B. O comando REPAIR TABLE é o utilitário do MySQL 8.0 destinado a corrigir problemas de corrupção de dados em uma tabela, reparando a estrutura e o conteúdo danificado. As demais alternativas executam outras funções: ALTER TABLE modifica a estrutura, CLONE duplica dados, HANDLER acessa linhas diretamente e TRUNCATE TABLE remove todos os registros.

O MySQL oferece um conjunto de comandos administrativos para manutenção de tabelas, e o REPAIR TABLE é o específico para recuperação de corrupção. Quando uma tabela sofre danos — seja por falha de hardware, interrupção abrupta do servidor ou erro de software — o comando tenta restaurar a integridade dos dados, reconstruindo índices e corrigindo inconsistências. É uma operação de manutenção preventiva e corretiva, essencial para administradores de banco de dados.

A corrupção de dados é um problema sério que pode tornar uma tabela inacessível ou gerar resultados incorretos. O REPAIR TABLE atua diretamente no arquivo físico da tabela, verificando e corrigindo erros. Para tabelas MyISAM, o comando é particularmente útil, pois esse mecanismo de armazenamento é mais suscetível a corrupção. Já para tabelas InnoDB, o comando também funciona, mas a recuperação costuma ser feita automaticamente pelo mecanismo de armazenamento em caso de falha.

É importante distinguir o REPAIR TABLE de outros comandos de manutenção. O CHECK TABLE apenas verifica a integridade sem corrigir, enquanto o REPAIR TABLE efetivamente conserta. O OPTIMIZE TABLE reorganiza o armazenamento físico para melhorar o desempenho, mas não corrige corrupção. O ANALYZE TABLE atualiza estatísticas de distribuição de chaves. Cada comando tem um papel específico na administração do banco.

A pegadinha desta questão está em confundir o REPAIR TABLE com comandos de estrutura ou de dados. O ALTER TABLE é frequentemente lembrado por ser um comando versátil, mas sua função é estrutural — adicionar, modificar ou excluir colunas, não reparar dados. O TRUNCATE TABLE é um comando destrutivo que apaga todos os registros, o oposto de reparar. O CLONE e o HANDLER são comandos menos conhecidos, mas com finalidades bem distintas: duplicação de dados e acesso direto a linhas, respectivamente.

Guarde a distinção central: reparar corrupção é função do REPAIR TABLE; modificar estrutura é do ALTER TABLE; apagar dados é do TRUNCATE TABLE. É nessa fronteira que as alternativas se dividem.

1REPAIR TABLE
Corrige corrupção de dados
Reconstrói índices
2ALTER TABLE
Modifica estrutura
3TRUNCATE TABLE
Remove todos os registros
4CLONE
Duplica dados
5HANDLER
Acesso direto a linhas
Comandos de manutenção (MySQL)
LEVELsoulevel.com.br
Comandos de manutenção (MySQL): REPAIR TABLE (Corrige corrupção de dados, Reconstrói índices); ALTER TABLE (Modifica estrutura); TRUNCATE TABLE (Remove todos os registros); CLONE (Duplica dados); HANDLER (Acesso direto a linhas)

Alternativa A — ❌ Incorreta

O ALTER TABLE é um comando DDL usado para modificar a estrutura de uma tabela — adicionar, excluir ou alterar colunas, e gerenciar restrições. Ele não tem capacidade de reparar dados corrompidos. A confusão surge porque é um comando de manutenção, mas de manutenção estrutural, não de recuperação de dados.

Alternativa B — ✅ Correta ⟵ GABARITO

O REPAIR TABLE é o comando específico do MySQL para corrigir corrupção de dados em uma tabela. Ele verifica e repara a tabela, reconstruindo índices e restaurando a integridade dos dados. É a ferramenta adequada para o cenário descrito no enunciado.

Alternativa C — ❌ Incorreta

O comando CLONE no MySQL 8.0 é utilizado para criar uma cópia de um banco de dados ou de uma tabela, seja localmente ou remotamente. Ele não tem relação com reparo de corrupção — sua finalidade é duplicação de dados para fins de replicação ou backup.

Alternativa D — ❌ Incorreta

O comando HANDLER é uma interface de acesso direto a linhas de uma tabela, permitindo navegação sequencial ou por índice sem usar SQL completo. Ele é usado para operações de baixo nível e não possui qualquer função de reparo ou recuperação de dados corrompidos.

Alternativa E — ❌ Incorreta

O TRUNCATE TABLE é um comando DDL que remove todos os registros de uma tabela, mantendo apenas a estrutura. É uma operação destrutiva e irreversível (na maioria dos SGBDs), exatamente o oposto de reparar dados — em vez de corrigir, ele apaga tudo.

NÃO CAIA NESSA!

A banca explora a confusão entre comandos de manutenção. O ALTER TABLE é o mais conhecido e versátil, então muitos candidatos o escolhem por eliminação, sem perceber que ele altera a estrutura, não os dados. O TRUNCATE TABLE também engana, pois parece "limpar" problemas, mas na verdade destrói os dados. O REPAIR TABLE é o único que conserta a corrupção.

PEGA ESSA DICA!

Para memorizar, associe cada comando à sua ação: REPAIR = consertar, ALTER = modificar estrutura, TRUNCATE = esvaziar, CLONE = copiar, HANDLER = acessar diretamente. Em questões de manutenção, pergunte-se: "o que este comando faz com os dados?" — se a resposta for "corrige", é REPAIR TABLE.

Gabarito: letra B

Link permanente: /questoes/vu196986