Duvidas de rollback

bom dia a todos !!!

Alguém poderia me explicar a finalidade de Rollback?

Tenho pesquisado em alguns tutoriais e não encontrei nada que me desse um bom entendimento ainda !!!
O que tive lendo é mais ou menos isso:

  • Rollback desfaz a transação corrente, fazendo com que todas as modificações realizadas pela transação sejam rejeitadas.

essas transações seria algum tipo de acesso a um determinado banco ou porta de acesso pois o commit desfaz a transação .

É isso mesmo?

Estou um pouco confuso quanto a isso mas se alguém puder me dar uma força agradeço !!

grato
Ricardo

Uma transacção é um conjunto de operações que devem ser vistas como uma única operação.

Imagina a operação de transferência de dinheiro entre duas contas, num banco.

Na prática o que acontecem são duas operações: retirar o dinheiro de uma das contas, adicionar o dinheiro à outra conta.
Estas duas operações são uma transacção e que podem ser feitas de duas ordens diferentes:

A - O dinheiro é retirado da primeira conta.
Acontece um erro ao adicionar o dinheiro à segunda conta (porque a conta não existe, por exemplo).
Tem de ser feito o rollback para creditar o dinheiro retirado da primeira conta.

B - O dinheiro é creditado na segunda conta.
Ao retirar o dinheiro da primeira conta verifica que não tem saldo e tem de fazer rollback para retirar o dinheiro creditado da segunda conta.

Independemente da ordem (A ou B) se ocorrer um erro, tem de haver um rollback para que não haja dinheiro a mais nem dinheiro a menos no final da operação.

[quote=pmlm]Uma transacção é um conjunto de operações que devem ser vistas como uma única operação.

Imagina a operação de transferência de dinheiro entre duas contas, num banco.

Na prática o que acontecem são duas operações: retirar o dinheiro de uma das contas, adicionar o dinheiro à outra conta.
Estas duas operações são uma transacção e que podem ser feitas de duas ordens diferentes:

A - O dinheiro é retirado da primeira conta.
Acontece um erro ao adicionar o dinheiro à segunda conta (porque a conta não existe, por exemplo).
Tem de ser feito o rollback para creditar o dinheiro retirado da primeira conta.

B - O dinheiro é creditado na segunda conta.
Ao retirar o dinheiro da primeira conta verifica que não tem saldo e tem de fazer rollback para retirar o dinheiro creditado da segunda conta.

Independemente da ordem (A ou B) se ocorrer um erro, tem de haver um rollback para que não haja dinheiro a mais nem dinheiro a menos no final da operação.[/quote]

Vale acrescentar que isso define atomicidade. Ou seja, uma transação é atômica quando ela executa absolutamente TUDO ou a qualquer erro ela desfaça absolutamente TUDO, como se nada tivesse acontecido. No bom e velho português é o “tudo ou nada”.

Vale um estudo sobre controle de transações mais a fundo, mas primeiro mantenha seu foco em entender o básico e depois ACID (conceitos de controle de transação, atomicidade, consistencia, integridade(isolamento) e durabilidade).

Quando chegar nesse ponto e for estudar EJB recomendo o livro Enterprise Java Beans 3.0, tem um capítulo muito bom sobre transações.
Mas não se esqueça, um dia de cada vez.

valeu galera !!!

orientação é tudo quando se estudo algo tão vasto !!!

valeu mesmo !!!