Considere o trecho de código a seguir, escrito na Linguagem...
1. UPDATE PESSOA_FISICA 2. SET nome_pessoa = ‘Ana’, 3. data_nascimento = ‘12/09/2022’ 4. WHERE cod_pessoa = 1234; 5. 6. COMMIT; 7.
Com base no trecho de código, qual é a afirmativa correta?
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Tema Central da Questão:
O tema central da questão é a gerência de transações em um banco de dados, um conceito crucial na administração de sistemas de gerenciamento de banco de dados (SGBD). Este conceito garante que operações sejam executadas de maneira segura e confiável, respeitando as propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade).
A transação em bancos de dados representa uma unidade de trabalho que efetua leituras e/ou atualizações nos dados. A importância desse tema reside na sua habilidade de assegurar que todas as operações dentro de uma transação sejam concluídas com sucesso ou revertidas em caso de falha, através do uso de comandos como ROLLBACK e COMMIT.
Justificativa da Alternativa Correta (C):
A alternativa C está correta porque, antes do comando COMMIT, as alterações feitas pela transação estão apenas em memória. Ou seja, mesmo que a linha 5 não contenha especificamente um comando, o ponto entre a execução do UPDATE e a execução do COMMIT é quando as mudanças não estão ainda permanentemente gravadas no banco de dados. Esse estado permite que, em caso de falha ou cancelamento, as alterações possam ser desfeitas por meio de um ROLLBACK.
Análise das Alternativas Incorretas:
A: A transação é iniciada pela instrução SET.
Esta opção está incorreta. A transação costuma ser iniciada implicitamente no momento do primeiro comando de atualização ou modificação, que no código apresentado é o comando UPDATE, e não o SET.
B: A partir da instrução WHERE, uma cópia dos dados anterior à alteração é armazenada no segmento de ROLLBACK ou no segmento de UNDO.
Essa afirmação está incorreta. Não é a instrução WHERE que determina o armazenamento de cópias, e sim a própria estrutura da transação que registra versões anteriores dos dados em segmentos apropriados para permitir um ROLLBACK, caso necessário.
D: Na linha 7, os usuários que acessarem os dados visualizarão a cópia anterior à transação.
Esta alternativa está errada. Após a execução de um COMMIT, todos os usuários verão os dados atualizados, pois a transação terá sido concluída e suas alterações, efetivadas.
E: Na linha 5, os usuários que acessarem o registro visualizarão os dados atualizados.
Esta afirmação está incorreta. Até que o COMMIT seja executado, as alterações não são aplicadas de forma permanente no banco de dados, portanto, outros usuários ainda não visualizarão essas mudanças.
Estratégia de Interpretação:
Ao abordar questões sobre gerência de transações, é fundamental focar nas etapas de iniciação, execução e finalização das transações, identificando como os comandos SQL impactam o estado dos dados. Preste atenção nos conceitos de COMMIT e ROLLBACK, e como eles garantem a atomicidade e a durabilidade das transações.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo