Baixe o app para aproveitar ainda mais
Prévia do material em texto
Implementação de Banco de Dados Ricardo Luis Balieiro Aula 9 Implementação de atomicidade e durabilidade • Cópia de sombra – Somente uma transação ativa por vez. –Banco de dados está gravado em um único arquivo. 2 Implementação de atomicidade e durabilidade 3 Implementação de atomicidade e durabilidade Uma Transação quer atualizar o BD. 1) Efetua uma copia de todo o banco de dados para um novo arquivo (Cópia Sombra). 2) Deixa a cópia de sombra intocável. 3) Se a transação for concluída, aguarda confirmação do S.O. de que todas as páginas foram gravadas com sucesso. 4) Após a confirmação do S.O., o db pointer aponta para a nova cópia do BD. 5) Cópia antiga do BD é excluída. 4 Esquema de controle de consistência • Controle de concorrência: garantem que a execução de várias transações não interfiram umas nas outras de forma a produzir resultados inconsistentes. • Schedule: representa a ordem cronológica que as instruções são executadas no sistema. 5 Schedule Serial 6 T1 seguido de T2 A + B = 3000 T2 seguido de T1 A + B = 3000 Schedule Simultâneo 7 T1 e T2 simultâneo A + B = 3000 Schedule Simultâneo 8 Antes: A + B = 1000 + 2000 = 3000 Depois: A + B = 950 + 2100 = 3050 1000 950 950 1000 100 900 900 2000 1950 1950 2000 2100 2100 Controle de transação • As seguintes declarações SQL são usadas em uma transação: • COMMIT; • SAVEPOINT nome_ponto; • ROLLBACK to [SAVEPOINT] nome_ponto. 9 Controle de transação • COMMIT: Realiza mudanças nas transações correntes permanentemente. • SAVEPOINT: Pode ser usada para dividir uma transação dentro de porções menores; • ROLLBACK: O comando Rollback é usado para desfazer o trabalho; –O Rollback para um Savepoint é opcional; 10 Controle de transação • INSERT INTO Departamento (ID_Depto, NomeDepto, ID_Gerente) VALUES (1, ‘Analise de Sistemas’, 3); • SAVEPOINT Insert_Depto; • DELETE FROM Departamento; • ROLLBACK TO Insert_Depto; • UPDATE Departamento SET NomeDepto = ‘Eng Software’ WHERE NomeDepto = ‘Analise de Sistemas’; • COMMIT. 11 Fechamento • Implementação de Banco de Dados 12 Implementação de Banco de Dados Ricardo Luis Balieiro Atividade 9 Exercício 1 14 I) COMMIT: Realiza mudanças nas transações correntes temporariamente. II) SAVEPOINT: Realiza mudanças nas transações correntes permanentemente. III) ROLLBACK: O comando Rollback é usado para desfazer o trabalho. Marque a opção CORRETA relativa aos itens acima. a) Itens I, II e III. d) Apenas o item I. b) Itens I e III. e) Apenas o item III. c) Itens II e III.
Compartilhar