Re: [firebase-br] Dúvida sobre transações

Kléber Caneva kdcc em terra.com.br
Qua Out 11 12:42:41 -03 2006


O ideal é que você ten ha uma tabela de movimentação de estoque. e a 
atualização do estoque seja feito numa trigger dessa tabela.

[]´s

Kléber Caneva

----- Original Message ----- 
From: "Renan Cruz de Almeida" <renan.aju em terra.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, October 11, 2006 11:59 AM
Subject: Re: [firebase-br] Dúvida sobre transações



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
>
>
>
>


______________________________________________
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

E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=kdcc&_l=1,1160578827.462142.28121.sotovento.hst.terra.com.br,5036,Des15,Des15

Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 10/10/2006 / Versão: 
4.4.00/4870
Proteja o seu e-mail Terra: http://mail.terra.com.br/








Mais detalhes sobre a lista de discussão lista