Questão de Banco de Dados — Transações (Locks, ACID, etc.) — Avança SP 2024
Banco de Dados›Transações (Locks, ACID, etc.)
Código
qa630768
Banca
Avança SP
Órgão
CM Itapecerica Serra
Ano
2024
Cargo
Tec ( )
À medida que o número de usuários que acessam os dados aumenta, torna-se importante ter aplicativos que utilizem as transações de maneira eficaz. Porque: COMMITS garantem que as modificações na transação façam parte do banco de dados. No contexto do SQL Server, é correto concluir sobre as duas afirmativas acima:
Aa primeira afirmativa é falsa, e a segunda verdadeira.
Bambas as afirmativas são falsas.
Ca primeira afirmativa é verdadeira, e a segunda falsa.
DAmbas são verdadeiras, mas não estabelecem relação entre si.
EAmbas são verdadeiras e a segunda é uma justificativa correta da primeira.
Revelar gabarito e comentário▾
GabaritoD — Ambas são verdadeiras, mas não estabelecem relação entre si.
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”.
Transações em banco de dados: COMMIT e a relação entre as afirmativas
Gabarito: letra D. Ambas as afirmativas são verdadeiras, mas a segunda não é uma justificativa da primeira. A primeira afirmativa trata da importância das transações para o acesso concorrente de dados, enquanto a segunda descreve o efeito do comando COMMIT, que torna permanentes as modificações da transação no banco de dados. São conceitos relacionados ao mesmo tema, mas a segunda não explica o porquê da primeira.
Uma transação em banco de dados é uma unidade lógica de trabalho que agrupa uma ou mais operações (leituras, inserções, alterações, exclusões) que devem ser executadas de forma atômica, consistente, isolada e durável — as propriedades ACID. A atomicidade garante que a transação seja executada por completo ou não tenha efeito algum; a consistência assegura que o banco passe de um estado válido para outro válido; o isolamento faz com que transações concorrentes não interfiram umas nas outras; e a durabilidade garante que, uma vez confirmada (COMMIT), as alterações sejam permanentes, mesmo em caso de falha do sistema.
O comando COMMIT é o responsável por finalizar a transação com sucesso, tornando definitivas todas as modificações realizadas durante a transação. Antes do COMMIT, as alterações são temporárias e podem ser desfeitas com um ROLLBACK. Após o COMMIT, as mudanças são gravadas de forma durável no banco de dados, cumprindo a propriedade de durabilidade do ACID.
A primeira afirmativa destaca a importância das transações em ambientes com muitos usuários acessando dados simultaneamente. Isso se relaciona diretamente com a propriedade de isolamento, que evita que transações concorrentes interfiram umas nas outras, garantindo a consistência dos dados. A segunda afirmativa, por sua vez, descreve o efeito do COMMIT, que é a confirmação das modificações da transação. Embora ambas sejam verdadeiras e pertençam ao contexto de transações, a segunda não é uma justificativa da primeira: o fato de o COMMIT tornar as modificações permanentes não explica por que é importante usar transações de forma eficaz quando há muitos usuários. A justificativa para a primeira afirmativa está na necessidade de isolamento e consistência em cenários de concorrência, não na durabilidade proporcionada pelo COMMIT.
A pegadinha desta questão está em confundir a relação de causa e consequência entre as afirmativas. O candidato pode ser levado a pensar que a segunda justifica a primeira, mas a relação correta é de complementaridade: ambas tratam de aspectos diferentes das transações. A primeira fala da necessidade de transações em cenários de concorrência; a segunda fala do efeito do COMMIT. Não há uma relação de justificativa entre elas.
Transações (ACID): Atomicidade (Tudo ou nada); Consistência (Estado válido → válido); Isolamento (Concorrência sem interferência); Durabilidade (COMMIT torna permanente); COMMIT (Confirma a transação, Gravação durável, ROLLBACK desfaz)
Alternativa A — ❌ Incorreta
Afirma que a primeira afirmativa é falsa e a segunda verdadeira. A primeira afirmativa é verdadeira, pois em ambientes com muitos usuários acessando dados, o uso eficaz de transações é fundamental para garantir a consistência e o isolamento dos dados. A segunda também é verdadeira, pois o COMMIT de fato torna as modificações permanentes. Portanto, a alternativa está incorreta ao classificar a primeira como falsa.
Alternativa B — ❌ Incorreta
Afirma que ambas as afirmativas são falsas. Isso está incorreto, pois tanto a primeira quanto a segunda afirmativas são verdadeiras. A primeira reflete a importância das transações em cenários de concorrência, e a segunda descreve corretamente o efeito do COMMIT.
Alternativa C — ❌ Incorreta
Afirma que a primeira afirmativa é verdadeira e a segunda falsa. A primeira é verdadeira, mas a segunda também é verdadeira: o COMMIT garante que as modificações da transação façam parte do banco de dados, tornando-as permanentes. Portanto, a alternativa está incorreta ao classificar a segunda como falsa.
Alternativa D — ✅ Correta ⟵ GABARITO
Ambas as afirmativas são verdadeiras, mas não estabelecem relação entre si. A primeira afirmativa destaca a importância das transações em ambientes com muitos usuários, o que se relaciona com as propriedades de isolamento e consistência. A segunda afirmativa descreve o efeito do COMMIT, que é a confirmação das modificações da transação, relacionada à durabilidade. São conceitos verdadeiros e complementares, mas a segunda não é uma justificativa da primeira, pois a razão para usar transações de forma eficaz em cenários de concorrência não é o efeito do COMMIT, mas sim a necessidade de isolamento e consistência.
Alternativa E — ❌ Incorreta
Afirma que ambas são verdadeiras e a segunda é uma justificativa correta da primeira. Embora ambas sejam verdadeiras, a segunda não é uma justificativa da primeira. A primeira afirmativa fala da importância das transações em cenários de concorrência, enquanto a segunda fala do efeito do COMMIT. A justificativa para a primeira está na necessidade de isolamento e consistência, não na durabilidade proporcionada pelo COMMIT. Portanto, a relação de justificativa não existe.