Questão de Banco de Dados — MySQL — VUNESP 2023
- Código
- vu196986
- Banca
- VUNESP
- Órgão
- CIJUN
- Ano
- 2023
- Cargo
- Ana ( )
- AALTER TABLE …
- BREPAIR TABLE …
- CCLONE …
- DHANDLER …
- ETRUNCATE TABLE …
GabaritoB — REPAIR TABLE …
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.
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.
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.
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.
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.
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.
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.
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