BANCO DE DADOS – Aula 25: TRANSAÇÕES Além de

Propaganda
BANCO DE DADOS – Aula 25: TRANSAÇÕES
Além de disponibilizar os dados para consulta e gerenciar a integridade dos mesmos, um bom
banco de dados (integrado a um SGBD) deve fornecer a capacidade de gerenciamento de transações.
Uma transação é o conjunto de uma ou mais operações realizadas no banco de dados, a qual deve
ter a sua integridade garantida por meio de quatro propriedades, conhecidas como ACID (Atomicidade,
Consistência, Isolamento e Durabilidade).
O gerenciamento completo de uma transação previne erros e inconsistências dos mais variados
tipos. As propriedades que garantem a integridade de uma transação são descritas a seguir.
Atomicidade
A atomicidade de uma transação diz respeito à execução da transação por completo, ou no aborto
da mesma. Impede que a transação seja executada pela metade. Utilizando o exemplo anterior, ou a
transferência e a atualização do saldo ocorrem por completo ou ambas são abortadas. No ditado popular,
esta definição é conhecida com “Tudo ou Nada”.
Consistência
Esta propriedade diz respeito à validação dos dados utilizados pela transação. Cada campo deverá,
ao final da transação, estar preenchido com valores válidos dentro de seu domínio de dados, assim como
válidos nos relacionamentos criados entre as tabelas.
Isolamento
Cada transação deve ter acesso privado aos dados de que necessita. Mesmo que outras transações
necessitem de acesso somente à leitura de alguns dados, poderão haver inconsistências quando um
determinado campo for alterado por uma transação A e lido por uma transação B, caso a primeira seja
abortada e tenha os seus campos retornados aos valores iniciais, pois neste intervalo de tempo seus
valores teriam sido considerados como temporários e invalidados.
Durabilidade
A durabilidade garante que, em caso de erro na execução todos os campos em questão no banco
de dados sejam restaurados com seus valores inicias. Além disto, também é característica desta
propriedade manter os dados permanentes no final de uma transação realizada com sucesso.
Sintaxe:
START TRANSACTION;
comandos
COMMIT | ROLLBACK;
Download