Pular para o conteúdo principal

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

Banco de DadosMySQL
Código
qg595979
Banca
Quadrix
Órgão
CRA-SP
Ano
2025
Nível
Superior
Cargo
Analista II - Desenvolvimento de Sistemas
Uma equipe de desenvolvimento projetou um sistema financeiro em MySQL. É um requisito crítico em que o sistema suporte transações ACID (Atomicidade, Consistência, Isolamento, Durabilidade) utiliza chaves estrangeiras para garantir a integridade referencial entre as tabelas.Com base nessa situação hipotética, assinale a opção que apresenta o mecanismo de armazenamento do MySQL que deve ser utilizado para atender a esses requisitos.
  1. AMyISAM
  2. BDDL
  3. CCSV
  4. DInnoDB
  5. EDML
Revelar gabarito e comentário

GabaritoD — InnoDB

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

Mecanismos de armazenamento do MySQL: InnoDB e transações ACID

Gabarito: letra D. O InnoDB é o mecanismo de armazenamento (storage engine) do MySQL que suporta transações ACID (Atomicidade, Consistência, Isolamento e Durabilidade) e chaves estrangeiras, atendendo aos requisitos críticos do sistema financeiro descrito. As demais opções — MyISAM, CSV, DDL e DML — não são mecanismos de armazenamento com suporte completo a transações ACID e integridade referencial.

O MySQL é um SGBD que permite escolher, para cada tabela, o mecanismo de armazenamento que será utilizado. Cada mecanismo tem características próprias de desempenho, recursos e garantias. Para um sistema financeiro, onde a confiabilidade e a integridade dos dados são críticas, a escolha do mecanismo correto é fundamental.

O InnoDB é o mecanismo padrão e mais completo do MySQL. Ele foi projetado especificamente para oferecer suporte a transações ACID, garantindo que cada transação seja processada de forma atômica (tudo ou nada), consistente (respeitando as regras de integridade), isolada (transações concorrentes não interferem umas nas outras) e durável (os dados persistem mesmo após falhas). Além disso, o InnoDB implementa chaves estrangeiras, que são essenciais para manter a integridade referencial entre tabelas — um requisito explícito do enunciado.

As propriedades ACID são o coração da confiabilidade em bancos de dados transacionais. A atomicidade garante que uma transação seja executada por completo ou não seja executada — se qualquer operação falhar, todas as alterações são revertidas (rollback). A consistência assegura que o banco de dados passe de um estado válido para outro estado válido, respeitando todas as restrições definidas (chaves, unicidade, etc.). O isolamento impede que transações concorrentes vejam dados intermediários umas das outras, evitando leituras inconsistentes. A durabilidade garante que, após o commit, as alterações sejam permanentes, mesmo em caso de falha do sistema.

Na prática, imagine uma transferência bancária: debitar R$ 100 da conta A e creditar R$ 100 na conta B. Com o InnoDB, se o sistema falhar após debitar A, mas antes de creditar B, a transação inteira é revertida — o dinheiro não sai de A nem entra em B. Isso é atomicidade. As chaves estrangeiras garantem que, por exemplo, uma transação só possa ser registrada se a conta referenciada existir na tabela de contas.

A distinção crucial aqui é entre mecanismo de armazenamento (storage engine) e linguagem SQL. DDL (Data Definition Language) e DML (Data Manipulation Language) são subconjuntos da linguagem SQL — DDL define estruturas (CREATE, ALTER, DROP) e DML manipula dados (INSERT, UPDATE, DELETE). Eles não são mecanismos de armazenamento. MyISAM e CSV são mecanismos de armazenamento, mas o MyISAM não suporta transações ACID nem chaves estrangeiras, e o CSV é um mecanismo simples para arquivos de texto, sem suporte a transações.

A pegadinha que a banca explora é justamente misturar categorias diferentes: colocar DDL e DML (linguagens) junto com MyISAM, CSV e InnoDB (mecanismos de armazenamento). O candidato que não domina essa distinção pode se confundir. Guarde a fronteira: para transações ACID e chaves estrangeiras no MySQL, a resposta é sempre InnoDB.

Mecanismos de armazenamento (MySQL)
  • 1InnoDB
    • Transações ACID
    • Chaves estrangeiras
    • Integridade referencial
  • 2MyISAM
    • Sem transações ACID
    • Sem chaves estrangeiras
  • 3CSV
    • Sem transações
    • Sem chaves estrangeiras
    • Arquivo de texto
  • 4Linguagens SQL (não são mecanismos)
    • DDL
      • Define estrutura (CREATE, ALTER, DROP)
    • DML
      • Manipula dados (INSERT, UPDATE, DELETE)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

O MyISAM é um mecanismo de armazenamento do MySQL, mas não suporta transações ACID nem chaves estrangeiras. Ele é mais antigo e foi projetado para leitura pesada e desempenho em consultas, mas sacrifica a integridade transacional. Para um sistema financeiro com requisitos críticos de atomicidade e consistência, o MyISAM é inadequado.

Alternativa B — ❌ Incorreta

DDL (Data Definition Language) não é um mecanismo de armazenamento — é um subconjunto da linguagem SQL usado para definir a estrutura do banco de dados (criar, alterar e excluir tabelas, índices, etc.). Não tem relação com o armazenamento físico dos dados nem com transações.

Alternativa C — ❌ Incorreta

O CSV é um mecanismo de armazenamento do MySQL que trata tabelas como arquivos de texto no formato CSV (valores separados por vírgula). Ele é útil para importar/exportar dados, mas não suporta transações ACID, chaves estrangeiras nem índices — totalmente inadequado para um sistema financeiro.

Alternativa D — ✅ Correta ⟵ GABARITO

O InnoDB é o mecanismo de armazenamento padrão do MySQL e o único entre as opções que oferece suporte completo a transações ACID e chaves estrangeiras. Ele garante atomicidade, consistência, isolamento e durabilidade, além de integridade referencial — exatamente o que o sistema financeiro do enunciado exige.

Alternativa E — ❌ Incorreta

DML (Data Manipulation Language) não é um mecanismo de armazenamento — é o subconjunto da linguagem SQL usado para manipular dados (INSERT, UPDATE, DELETE, SELECT). Assim como DDL, é uma linguagem, não um storage engine.

A regra de ouro para levar à prova: no MySQL, quando a questão pedir transações ACID, chaves estrangeiras ou integridade referencial, a resposta é InnoDB. MyISAM e CSV são mecanismos sem suporte transacional, e DDL/DML são linguagens SQL, não mecanismos de armazenamento.

Gabarito: letra D

Link permanente: /questoes/qg595979