Baixe o app para aproveitar ainda mais
Prévia do material em texto
Implementação de Banco de Dados Ricardo Luis Balieiro Aula 8 • Transação é uma coleção de operações que formam uma única unidade lógica de trabalho. 2 Transação 3 • Ex.: Transferência de R$ 500,00 da conta corrente para poupança. 1) Retira R$500,00 da conta corrente. 2) Atualiza o saldo da conta corrente. 3) Registra histórico de movimentação da conta. 4) Deposita R$ 500,00 na poupança. 5) Atualiza o saldo da conta poupança. 6) Registra histórico de movimentação da poupança. Transação • Todas as operações da transação são refletidas corretamente no banco de dados, ou nenhuma delas. (é um tudo ou nada) Commit Rollback Todos os comandos executados com sucesso (Confirmada). Caso algum comando falhe em sua execução (Revertida). Transação - ACID - Atomicidade Conta Corrente Conta Corrente Conta Poupança Conta Poupança ESTADO INICIAL: Dados Consistentes Transação Transação - ACID - Consistência ESTADO FINAL: Dados Consistentes • A execução de uma transação isolada preserva a consistência do banco de dados. h t t p : / / w w w . i b m . c o m / d e v e l o p e r w o r k s / b r / d a t a / t u t o r i a l s / d b 2 - c e r t 7 3 0 6 / r r _ i s o l a t i o n _ l e v e l . j p g Transação - ACID - Isolamento • Permite que a execução de uma transação não sofra interferência de quaisquer outras transações concorrentes. Aplicativos Dados (arquivos) SGBD Transação - ACID - Disponibilidade • Depois que uma transação for completada com sucesso, as mudanças que ela fez ao banco de dados persistem, mesmo que existam falhas. Transação • Conjunto de operações: Leitura(Read) e Escrita(Write) de dados. • Read(x): transfere o item X do banco de dados para um buffer local alocado à transação que executou a operação de read. • Write(x): transfere o item de dados X do buffer local da transação que executou a write de volta ao banco de dados. 8 Transação 9 Transação 10 • Atomicidade: ou tudo ou nada. Transação 11 • Consistência: a soma de A e B sejam inalteradas pela execução da transação. • Antes: A+B = 1000 + 2000 = 3.000 • Depois: A+B = 950 + 2050 = 3.000 Transação 12 • Durabilidade: após a conclusão e a notificação do usuário que a transação foi efetuada com sucesso, nenhuma falha no sistema pode resultar em perda dos dados da transação. Transação 13 • Isolamento: se outra transação receber permissão para acessar os dados no ponto X, será um banco inconsistente. • A + B = 950 + 2000 = 2950 Estado da Transação 14 • Ativa: estado inicial; a transação permanece nesse estado enquanto está executando. • Parcialmente confirmada: depois que a instrução final foi executada. Estado da Transação 15 • Falha: depois da descoberta de que a execução normal não pode mais prosseguir. • Abortada: depois que a transação foi revertida e o banco de dados foi restaurado ao seu estado anterior ao início da transação. • Confirmada: após o término bem-sucedido. Estado da Transação 16 Inicia a Transação Reads e Writes Finaliza a Transação Encerramento COM sucesso Encerramento SEM sucesso Transação deve ser desfeita Fechamento • Implementação de Banco de Dados 17 Implementação de Banco de Dados Ricardo Luis Balieiro Atividade 8 Exercício 1 19 Na inserção dos itens de uma nota fiscal no banco de dados, pode-se usar uma “Transação”. A transação vai permitir que a inserção de todos os itens da nota fiscal seja feita como se fosse uma única operação. Na transação, esse conceito está relacionado à: a) Inconsistência. b) Isometria. c) Atomicidade. d) Dispensabilidade. e) Redundância. Exercício 2 20 Uma transação não deve sofrer interferência de quaisquer outras transações concorrentes. Esse conceito está relacionado à(ao): a) Inconsistência. b) Isolamento. c) Atomicidade. d) Dispensabilidade. e) Redundância.
Compartilhar