TRANSAÇÃO

 

Operação que forma uma única unidade logica de trabalho são chamadas de transações. Elas incluem uma ou mais operações de acesso ao Banco de Dados, são exemplos de transações, inserção, exclusão, alterações e consultas.

 

Uma transação deve garantir a integridade dos dados, para isso todas as operações envolvidas na transação devem ser executadas do inicio ao fim.

 

As transações seguem algumas propriedades para assegura a integridade dos dados:

 

- Atomicidade: Todas as operações da transação são executadas corretamente no bancos de dados ou nenhuma será.

1) As transações devem ser executadas em sua totalidade.

2) Transações não podem acontecer por partes.

exemplo:

João vai à uma agência bancária fazer uma transferência bancaria para pagar a conta de internet, João chega ao caixa digita a conta para a qual será feita a transferência, digita o valor do pagamento, e clica em confirmar transferência, na tela do caixa aparece uma mensagem de carregamento mostrando "Efetuando transferência", só que durante essa tela o enêrgia da agência bancaria cai, voltando 10 segundos depois, João vai checar o saldo da sua conta e ele permace o mesmo de inicialmente.


-Consistência: A execução de uma transação isolada preserva a consistência do banco de dados.

1) Banco de dados permance integro antes e depois da transação.

2) Apenas dados válidos serão gravados.

3) Os dados gravados devem respeitar as regras de integridade.


exemplo:

João vai à uma agência bancária fazer uma transferência bancaria para pagar a conta de internet, João chega ao caixa digita um valor inválido para a conta para a qual seria feita a transferência, digita o valor do pagamento, e clica em confirmar transferência, na tela do caixa aparece uma mensagem de erro mostrando "Transferência não efetuada", sendo assim não finalizada a operação, porque a conta digitada era inválida.


- Isolamento: Cada transação não toma conhecimento das outras transações concorrentes.

1) A execução de uma transação não pode ser afetada por outras concorrentes.

2) As transações devem ocorrer de forma isolada.

exemplo:

João e Maria vão ao banco, João irá sacar seu salário e Maria depositar o dela, ambos chegam praticamente juntos no banco começam a acionar as opções desejadas, as duas ações acontecem praticamente ao mesmo tempo, João consegue sacar todo seu salário, e Maria depositar o dela, por mais que as duas transações tenham acontecido no mesmo instante nenhuma interferiu no resultado da outra, pois o deposito de Maria não aumentou o valor do saque de João, e o saque de João não diminuiu o saldo da conta de Maria, sendo assim nenhuma transação tomou conhecimento da outra, sendo cada uma realizada de forma isolada e independente.



- Durabilidade: Depois da transação ser completadada com sucesso, as mudanças realizadas por ela no banco de dados, persistem até mesmo se houver falhas no sistema.

1) Após uma transação ser confirmada, os efeitos dela no bancos não podem ser desfeitos.

 

exemplo:

Maria vai ao banco depositar 150 reais em sua conta que tem um saldo atualmente de 20 reais, Maria chega a agência vai ao caixa eletrônico e seleciona a opção de depósito, ele depositar a quantia e na tela do caixa aparece uma mensagem de "efetuando depósito", alguns segundos depois aparece na tela "depósito realizado com sucesso" instântes antes de Maria finalizar sua operação no caixa e energia da agência cai, ela preocupada para saber se o valor depósito realmente estava em sua conta se dirige para um outra agência, chegando lá ela checa o saldo e observa que em sua conta consta um valor de 170 reais. Após o depósito ter sido realizado ele não pode ser desfeito por ações externas com a queda de luz.



Essas propriedades fundamentais para transações são também conhecidades pelo acrônimo ACID
  Atomicidade
  Consistência
  Isolamento
  Durabilidade



ESTADO DA TRANSAÇÃO



Para melhor compreensão dos possíveis estados de uma transação será usado um modelo simples e abstrato destas situações: As transações possuem os seguintes estados de execução.


ATIVA: permanece neste estado enquanto está sendo executada.

EFETIVAÇÃO PARCIAL: após execução da última declaração.

FALHA: descobre-se que a execução não poderá ser efetivada.

ABORTADA: transaçço desfeita, restabelecendo o BD ao início.

EFETIVADA: após a conclusão com sucesso.




DIAGRAMA DOS ESTADOS DA TRANSAÇÃO





Todas as operações na transação devem ser completadas com sucesso e com esse acontecimento o seu efeito será gravado permanentemente no banco de dados. Caso venha a ocorrer alguma falha durante a execução de uma transação os efeitos que ela iria causar não serão gravados no banco, porque a transação será completamente abortada.


O processamento de todas as transações precisção ser no SGBD velozes e seguras.




Dependendo do estado do que ocorre durante a transação ela é finalizada das seguintes formas:
Commit
  * A transação encerra com sucesso tendo suas alterações gravadas
  * Torna as atualizações permanentes

Rollback
   * Ocorre erro ao final da transação
   * Volta o banco de dados ao estado antes do inicio da transação.



Com intuito de apoiar o aprendizado em Banco de Dados, sugere-se assistir a videoaula para o aperfeiçoamento no conhecimento deste conteúdo.

Atividade de Fixação

 

No intuito de fixar a aprendizagem iniciada por meio deste módulo e verificar como está sua compreensão sobre o mesmo, são sugeridos alguns exercícios de fixação para serem resolvidos. Clique no link de exercícios ao lado, pois será por meio dele iniciada a lista de exercícios sobre os conteúdos estudados até este momento. Boa revisão sobre os mesmos!!