[firebase-br] Dúvida sobre transações
Renan Cruz de Almeida
renan.aju em terra.com.br
Qua Out 11 11:59:35 -03 2006
Penso que não vai dar deadlock, mas pode acontecer o seguinte, acaso o
sistema não tenha nenhum controle a mais, tomando como exemplo um
produto qualquer "X" :
caixa A : abre transação;
caixa B : abre transação;
caixa A : lê estoque X = 100;
caixa B : lê estoque X = 100;
caixa A : faz estoque final X = 100-30 = 70;
caixa B : faz estoque final X = 100-40 = 60;
OBS : na realidade o estoque final de X deverá ser 100-(30+40) = 30, ao
término das transações A e B.
caixa A : finaliza a transação e atualiza estoque final X = 70;
caixa B : finaliza a transação e atualiza estoque final X = 60;
Isso é uma anomalia de alteração, onde os SGBD's não têm como impedir,
pois a "defesa" contra isto reside nas regras do negócio que está sendo
modelado e na forma como o sistema é implementado.
[]'s
Renan
>É o seguinte: Tenho um sistema de vendas que a cada venda abate o estoque. Qual a garantia que eu tenho (mesmo com transações pequenas e rápidas) se em dois caixas tentarem alterar o estoque de um mesmo produto ao mesmo tempo não vai dar deadlock. Uso Firebird + Zeos.
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>
>
Mais detalhes sobre a lista de discussão lista