Pular para o conteúdo principal

Questão de Banco de Dados — MySQL — FUNDATEC 2025

Banco de DadosMySQL
Código
qg473486
Banca
FUNDATEC
Órgão
IF Sertão - PE
Ano
2025
Nível
Médio
Cargo
Técnico em Tecnologia da Informação
Um técnico de TI precisa realizar um backup lógico completo de um banco de dados MySQL chamado ensino. O backup deve incluir não apenas a estrutura das tabelas e seus dados, mas também todos os objetos programáveis associados, como procedures, functions e triggers. Para atender a todos os requisitos da tarefa, é necessário que sejam especificados os seguintes parâmetros:Imagem associada para resolução da questãoAssinale a alternativa que preenche, correta e respectivamente, as lacunas do comando acima.
  1. A--all-databases --force
  2. B--routines --all-data
  3. C--routines --triggers
  4. D--procedures --triggers
  5. E--procedures --skip-triggers
Revelar gabarito e comentário

GabaritoC — --routines --triggers

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

Backup lógico no MySQL: mysqldump e objetos programáveis

Gabarito: letra C — para incluir procedures, functions e triggers em um backup lógico completo do banco ensino, o comando mysqldump deve usar os parâmetros --routines e --triggers. O --routines cobre procedures e functions; o --triggers garante que os gatilhos sejam exportados junto com a estrutura e os dados.

O mysqldump é a ferramenta clássica de backup lógico do MySQL: ela gera um arquivo de texto com comandos SQL (CREATE TABLE, INSERT, etc.) que, ao ser executado, recria o banco. Por padrão, o mysqldump não inclui objetos programáveis — procedures, functions e triggers ficam de fora do dump a menos que você peça explicitamente. É exatamente essa a pegadinha da questão: o candidato que conhece o comando básico (mysqldump -u usuario -p ensino > backup.sql) acha que o backup está completo, mas ele não contém os objetos programáveis.

A documentação oficial do MySQL define o comportamento dos parâmetros:

MySQL 8.0 Reference Manual — mysqldump:

--routines — "Dump stored routines (procedures and functions) from the dumped databases." (Despeja rotinas armazenadas — procedures e functions — dos bancos de dados despejados.)

--triggers — "Include triggers for each dumped table." (Inclui triggers para cada tabela despejada.)

O --routines é o parâmetro que cobre ambos os tipos de rotina armazenada: procedures e functions. Não existe um parâmetro separado para cada um — a banca tenta confundir com --procedures, que simplesmente não existe no mysqldump. Já o --triggers é o parâmetro específico para os gatilhos, e ele é ativado por padrão nas versões mais recentes do MySQL (a partir da 5.7.2), mas a questão pede explicitamente que ele seja especificado, então a alternativa correta é a que o inclui.

Na prática, o comando completo ficaria assim:

mysqldump -u usuario -p --routines --triggers ensino > backup_ensino.sql

Esse comando gera um arquivo com a estrutura das tabelas, os dados, as procedures, as functions e os triggers do banco ensino. É o backup lógico completo que o técnico precisa.

A distinção que importa aqui é entre backup lógico e backup físico: o lógico (mysqldump) exporta comandos SQL e é portável entre versões e servidores; o físico (cópia dos arquivos de dados) é mais rápido para restaurar, mas menos flexível. E dentro do backup lógico, a distinção é entre o que vem por padrão (estrutura + dados) e o que precisa de parâmetros extras (rotinas e triggers).

Guarde a fronteira: --routines = procedures + functions; --triggers = triggers. É exatamente nessa fronteira que as alternativas se dividem.

mysqldump (backup lógico)
  • 1Por padrão
    • Estrutura das tabelas
    • Dados (INSERT)
  • 2Objetos programáveis (não vêm por padrão)
    • --routines
      • Procedures
      • Functions
    • --triggers
      • Gatilhos
  • 3Parâmetros que não existem
    • --procedures
    • --all-data
  • 4Parâmetro que exclui
    • --skip-triggers
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

O --all-databases faz o dump de todos os bancos do servidor, não apenas do ensino — isso contraria o requisito de backup de um banco específico. E o --force apenas continua o dump mesmo se ocorrer um erro, não tem relação com objetos programáveis. A alternativa mistura dois parâmetros que não atendem à necessidade de incluir procedures, functions e triggers.

Alternativa B — ❌ Incorreta

O --routines está correto e cobre procedures e functions, mas o --all-data não existe no mysqldump. O parâmetro que existe é --all-databases (todos os bancos) ou --all-tablespaces (todos os tablespaces), mas nenhum deles é --all-data. Além disso, a alternativa não menciona --triggers, então os gatilhos ficariam de fora do backup.

Alternativa C — ✅ Correta ⟵ GABARITO

O --routines inclui procedures e functions, e o --triggers inclui os gatilhos. Juntos, atendem exatamente aos requisitos do enunciado: estrutura das tabelas, dados, procedures, functions e triggers. É a combinação correta e completa.

Alternativa D — ❌ Incorreta

O --procedures não existe no mysqldump — o parâmetro correto é --routines, que cobre procedures e functions. E o --triggers está correto, mas sozinho não cobre as rotinas armazenadas. A alternativa troca o parâmetro real por um inventado.

Alternativa E — ❌ Incorreta

O --procedures não existe (o correto é --routines), e o --skip-triggers faz exatamente o oposto do que o enunciado pede: ele exclui os triggers do backup. É uma alternativa duplamente errada — usa um parâmetro inexistente e nega a inclusão dos gatilhos.

NÃO CAIA NESSA!

A banca explora a confusão entre --routines e --procedures. O candidato que não conhece a sintaxe exata do mysqldump pode achar que --procedures é o parâmetro certo para procedures, mas ele não existe — o --routines cobre procedures e functions de uma vez. E o --skip-triggers é a armadilha inversa: parece razoável, mas faz o contrário do que o enunciado pede.

PEGA ESSA DICA!

Memorize os parâmetros do mysqldump que aparecem em prova: --routines (procedures + functions), --triggers (gatilhos), --all-databases (todos os bancos), --single-transaction (consistência sem travar tabelas InnoDB), --no-data (só estrutura) e --no-create-info (só dados). Se a questão pedir backup completo com objetos programáveis, a combinação é sempre --routines --triggers.

Gabarito: letra C

Link permanente: /questoes/qg473486