Questão de Banco de Dados — MySQL — Quadrix 2025
- Código
- qg595979
- Banca
- Quadrix
- Órgão
- CRA-SP
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista II - Desenvolvimento de Sistemas
- AMyISAM
- BDDL
- CCSV
- DInnoDB
- EDML
GabaritoD — InnoDB
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.
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.
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.
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.
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.
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