Transação Flashcards
O que é?
Conjunto de operações lógicas que são executadas sobre os dados do BD
É uma unidade lógica de trabalho que atua sobre o banco de dados.
Deve ser vista pelo usuário como uma única unidade de processamento (uma única etapa)
Conceitos - DTL
Linguagem utilizada para implementar a lógica das transações (Begin, End, Commit, Abort, Read, Write, Savepoint)
Conceitos - Begin
Marca o início de uma transação
Conceitos - End
Marca o final de uma transação
Conceitos - Commit
Sinal de término com sucesso de uma transação (as alterações podem ser permanentemente gravadas no BD).
Conceitos - Abort
Sinal de que a transação não terminou com sucesso (não devem ser feitas as alterações no BD pelas transações que já tenham ocorrido e essas devem ser desfeitas).
Rollback, I.E, Reversão
Conceitos - Savepoint
Marca um ponto dentro da transação atual, sendo utilizado para dividir uma transação em partes menores (utilizado para evitar começar uma transação do começo caso haja abort, nesse caso, começaria pelo savepoint)
Conceitos - Rollback to save point
Retorna a transação para um savepoint específico e é seguimento a essa transação a partir desse ponto.
Conceitos - Undo
Desfaz uma operacão
Conceitos - Redo
Refaz uma operação
Conceitos - Read
Transfere o item de um dado de um BD para um buffer local (espaço de memória local) alocado para que seja manipulado.
Conceitos - Write
Transfere o ítem que estava em um buffer local (espaço de memória local) de volta para o BD
Não necessariamente a informação vai ser gravada de volta no BD logo após o White, ele pode ser gravada em algum momento no futuro).
Rollback e commit diferencas e semelhanças
Finalizam uma transação.
Commit finaliza com sucesso.
Rollback finaliza com falha.
Problemas de transações concorrentes
Perda de atualização
Atualização temporária (leitura suja)
Leitura não repetitiva
Problemas de transações concorrentes - Perda de atualização
Ocorre quando uma transação 1 está manipulando um dado X que ainda não foi comitado e outra transação 2 também começa a manipular o dado X que está sendo manipulado pela transação 1