segunda-feira, 12 de fevereiro de 2007

Bancos de dados - Transações

Muita gente conhece por vários nomes: Integridade Referencial, Consistência de dados, Transação... O importante é que os dados e as operações fiquem em seus devidos lugares, contornando os erros.

O exemplo clássico do uso das transações é numa transferência bancária. Uma transferência constitui-se basicamente de duas operações:
- se tira dinheiro de uma conta
- e se deposita em outra

Mas e se uma operação é realizada com sucesso e outra não? Uma conta ficaria com menos dinheiro e na outra não se acrescentaria nada?

Pode acontecer algum erro na comunicação entre os servidores, não estamos livres disso. E justamente para isso se usam os recursos de transação.

Como a parte técnica é longa demais para postar num blog (e creio eu que tudo o que eu publicar passe pelo mesmo problema), logo colocarei o material disponível para download num site, em formato PDF (posto um aviso aqui, assim você poderá acompanhar por leitores de feeds RSS).

Mas só para dar uma prévia cobrirei o assunto de duas formas diferentes:
- o PHP tem uma biblioteca, a MySQL Melhorada, que dá suporte a este tipo de operação [também na forma orientada a objeto, através da classe mysqli];
- através do manual do MySQL 5.1 (filtrarei o que segue a norma SQL para o artigo ter aplicação a outros servidores como o PostgreSQL). Isso é para o caso de se usar diretamente o servidor ou outra linguagem como Python ou Ruby, que não dão suporte a transações.

Té+
-----------
keepReading

Nenhum comentário:

Postar um comentário