Questão FC369596
Transação é uma unidade lógica de trabalho e é fundamental para garantir a integridade e a consistência dos dados. Observe o seguinte script de uma transação implementada no MySQL:
Sistema de Gerenciamento de Banco de Dados (SGBD)
FGV · 2024
Transação é uma unidade lógica de trabalho e é fundamental para garantir a integridade e a consistência dos dados.
Observe o seguinte script de uma transação implementada no MySQL:
CREATE TABLE candidato (id INT, nome CHAR (50),
INDEX (id));
START TRANSACTION;
INSERT INTO candidato VALUES (1, 'JULIA');
INSERT INTO candidato VALUES (2, 'MARIA');
COMMIT;
SET autocommit = 0;
INSERT INTO candidato VALUES (3, 'SOFIA');
UPDATE candidato SET nome='ANA' WHERE id=3;
DELETE FROM candidato WHERE nome='JULIA';
ROLLBACK;
SELECT * FROM candidato;
Após a execução do script apresentado, a consulta retornará as colunas id e nome com os valores:
- 2,MARIA
- 1,JULIA 2,MARIA
- 1,JULIA 2,MARIA 3,SOFIA
- 1,JULIA 2,MARIA 3,ANA
- 2,MARIA 3,ANA
Mostrar resposta e comentário
Gabarito
B
Comentário do professor
O script cria a tabela e, com START TRANSACTION, insere os registros (1, JULIA) e (2, MARIA). Em seguida é executado COMMIT, que torna essas duas inserções permanentes no banco.
Depois do COMMIT é definido SET autocommit = 0, desativando a confirmação automática: as operações seguintes passam a fazer parte de uma transação que precisa de confirmação explícita.
São então executados INSERT (3, SOFIA), UPDATE (troca para ANA) e DELETE (remove JULIA). O comando ROLLBACK reverte todas as alterações feitas desde a última confirmação.
Como apenas as duas primeiras inserções foram confirmadas, o SELECT final apresenta os registros: 1, JULIA e 2, MARIA.
Conteúdo do catálogo FC Concursos · Atualizado em