Transação e concorrência em banco de dados
Banco de Dados MySql
Alan Mendes, Luis Fernando e Verônica Monteiro
TRANSAÇÔES
É um conjunto de procedimentos que é executado num banco de dados, que para o usuário é visto como uma única ação. A integridade de uma transação depende de 4 propriedades, conhecidas como ACID. * Atomicidade
Se durante a transação qualquer ação que constitui unidade de trabalho falhar, a transação inteira deve ser desfeita (rollback). Quando todas as ações são efetuadas com sucesso, a transação pode ser efetivada e persistida em banco (commit). * Consistência
Relacionamentos por chaves estrangeiras, checagem de valores para campos restritos ou únicos devem ser obedecidos para que uma transação possa ser completada com sucesso. * Isolamento
Cada transação funciona completamente à parte de outras estações. Todas as operações são parte de uma transação única. O principio é que nenhuma outra transação, operando no mesmo sistema, possa interferir no funcionamento da transação corrente(é um mecanismo de controle). Outras transações não podem visualizar os resultados parciais das operações de uma transação em andamento (ainda em respeito à propriedade da atomicidade). * Durabilidade
Significa que os resultados de uma transação são permanentes e podem ser desfeitos somente por uma transação subseqüente.Por exemplo: todos os dados e status relativos a uma transação devem ser armazenados num repositório permanente, não sendo passíveis de falha por uma falha de hardware.
Ou seja, no contexto de um sistema de banco de dados, uma transação significa a execução de várias operações de bancos de dados em bloco.O sistema garante que ou todas as operações serão executadas corretamente ou nenhuma delas será efetivada. Isso vale mesmo se no meio de uma transação houver uma falha de energia, se ocorrer uma pane no computador ou acontecer algum outro tipo de desastre. Desse modo, por exemplo, não é possível que uma quantidade dinheiro