As Transação em banco de dados
Por: Samuel Souza • 28/2/2018 • Pesquisas Acadêmicas • 723 Palavras (3 Páginas) • 853 Visualizações
TRANSAÇÕES EM BANCO DE DADOS
O conceito de transação oferece um mecanismo para descrever unidade lógicas de processamento e banco de dados. Os sistemas e processamento de transação são sistemas com grande bancos de dados e centenas de usuários simultâneos que executam transações de banco de dados. Alguns exemplos desses sistemas incluem reservas aéreas sistemas bancários, processamento de cartão de crédito e muitas outras aplicações.
O termo transação é usado para representar uma unidade lógica de processamento de banco de dados que deve ser concluída por inteiro para garantir a exatidão. Uma transação normalmente é implementada por um programa de computador, que inclui comandos de banco de dados como recuperações, inserções, exclusões e atualizações.
Propriedades Desejáveis das Transações.
As transações devem possuir várias propriedades, normalmente chamadas propriedades ACID; elas devem ser impostas pelos métodos de controle de concorrência e recuperação do SGBD. As propriedades ACID são:
- Atomicidade: uma transação é uma unidade de processamento atômica; ela deve ser realizada em sua totalidade ou não ser realizada de forma alguma.
- Consistência: uma transação deve preservar a consistência, significando que, se ela for completamente executada do início ao fim sem interferências de outras transações, deve levar o banco de dados de um estado consistente para outro.
- Isolamento: uma transação deve parecer como se fosse executada isoladamente de outras transações, embora muitas delas estejam sendo executadas de maneiras simultânea. Ou seja, a execução de uma transação não deve ser interferida por quaisquer outras transações que acontecem simultaneamente.
- Durabilidade: as mudanças aplicadas ao banco de dados pela transação confirmada precisam persistir no banco de dados. Essas mudanças não devem ser perdidas por causa de alguma falha.
Estados de uma Transação.
Uma transação é uma unidade atômica de trabalho, que deve ser concluída totalmente ou não ser feita de forma alguma. Para fins de recuperação, o sistema precisa registrar quando cada transação começa, termina e confirma ou aborta. Portanto, o gerenciador de recuperação do SGBD precisa acompanhar as seguintes operações:
- BEGIN_TRANSACTION: esta marca o início da execução da transação.
- READ ou WRITE: estas especificam operações de leitura ou gravação nos itens do banco de dados que são executados como parte de uma transação.
- END_TRANSACTION: esta especifica que operações de transação READ e WRITE terminaram e marca o final da execução da transação. Porém, nesse ponto pode ser necessário verificar se as mudanças introduzidas pela transação podem ser permanentemente aplicadas ao banco de dados (confirmadas) ou se a transação precisa ser abortada, por viola a serialização por algum motivo.
- COMMIT_TRANSACTION: esta sinaliza o final bem sucedido da transação, de modo que quaisquer mudanças (atualizações) executadas pela transação podem ser seguramente confirmadas(committed) ao banco de dados e não serão desfeitas.
- ROLLBACK: esta operação sinaliza que a transação foi encerrada sem sucesso, de modo que quaisquer mudanças ou efeitos que a transação possa ter aplicado ao banco de dados precisam ser desfeitos.
A Figura 1 mostra um diagrama de transição de estado que ilustra como uma transação percorre seus estados de execução. Uma transação entra em um estado ativo imediatamente após iniciar a execução, onde pode executar suas operações READ e WRITE. Quando a transação termina, ela passa para o estado parcialmente confirmado. Nesse ponto, alguns protocolos de recuperação precisam garantir que uma falha no sistema não resultará em uma incapacidade de registrar as mudanças da transação permanentemente; Quando essa verificação é bem sucedida, diz-se que a transação alcançou seu ponto de confirmação e ela entra no estado confirmado.
...