Re: RES: [firebase-br] Concorrência de Acesso

Carlos H. Cantu (TeamFB) listas em warmboot.com.br
Qua Mar 21 13:59:11 -03 2007


Saldos de estoque, na minha opinião, devem ser baixados via trigger no
BD e não na aplicação.

Via trigger na tabela de produtos das notas, com um update do tipo:

update produtos set saldo = saldo - new.qtde
where codprod = new.produto;

Com isso, NUNCA o saldo ficará errado.

[]s
Cantu (Membro do TeamFB - FireBase)
http://www.warmboot.com.br
FireBase - http://www.FireBase.com.br

DEBW> Continuo achando que isto não é um problema e continuo
DEBW> acreditando que em uma rotina de banco de dados bem pensada e
DEBW> bem implementada não haveria problemas com lock e alocação de
DEBW> registros. Se houver algum problema (não estou dizendo não deve
DEBW> haver) será uma exceção a regra.

DEBW> -----Mensagem original-----
DEBW> De: lista-bounces em firebase.com.br
DEBW> [mailto:lista-bounces em firebase.com.br] Em nome de Renan de Oliveira
DEBW> Enviada em: quarta-feira, 21 de março de 2007 13:11
DEBW> Para: FireBase
DEBW> Assunto: Re: [firebase-br] Concorrência de Acesso

DEBW> Está ok, suponha entao que seja uma baixa do estoque de um produto X onde os
DEBW> 500 sao a quantidade em estoque e os outros valores sao as vendas.
DEBW> Dá no mesmo!

DEBW> Renan

DEBW> ----- Original Message ----- 
DEBW> From: "Magno System" <magno em speet.com.br>
DEBW> To: "FireBase" <lista em firebase.com.br>
DEBW> Sent: Wednesday, March 21, 2007 12:42 PM
DEBW> Subject: Re: [firebase-br] Concorrência de Acesso


DEBW> Renan de Oliveira disse:

DEBW> Vamos supor o seguinte exemplo.

DEBW> Dois fulanos estao com a mesma tela de pagamento a ser efetuado de um
DEBW> determinado cliente, com saldo a pagar de 500,00
DEBW> fulano1 - pega o saldo a pagar 500 e desconta um pagamento de 200 reais,
DEBW> saldo fica de 300,00
DEBW> fulano 2 - pega o saldo a pagar 500 e desconta um pagamento de 100 reais,
DEBW> saldo fica de 400,00

DEBW> e isso nao pode acontecer, pois o saldo deveria de ser 500 - 200 - 100 =
DEBW> 200,00

DEBW> Pessoal, vamos ser práticos na vida... Como um cliente vai pagar uma conta
DEBW> em dois caixas ao mesmo tempo ? Se vc vai a um estabelecimento comercial
DEBW> qualquer e é atendido por um caixa somente ele acessará sua conta.
DEBW> Provavelmente o outro caixa estará inativo ou atendendo outro cliente. É a
DEBW> velha teoria da tomada elétrica. A bitola de um fio nunca é calculada
DEBW> baseada na hipótese de estarem todas as luzes acesas e todas as tomadas em
DEBW> uso, embora teoricamente seja possível. Mas convenhamos, o bom senso e a
DEBW> prática dizem ao contrário. Uma casa mesmo que tenha 30 tomadas,
DEBW> dificilmente terá 10 em uso com aparelhos ligados. Acho que devemos pensar
DEBW> assim também em nossos sistemas. Bem, pelo menos é a minha opinião.

DEBW> PS. Se alguém tiver alguma informação sobre o tópico que postei (Dados não
DEBW> gravados em 19/03/2007) será de grande valia.
DEBW> ______________________________________________
DEBW> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
DEBW> Para editar sua configuração na lista, use o endereço
DEBW> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
DEBW> Para consultar mensagens antigas: http://firebase.com.br/pesquisa




DEBW> ______________________________________________
DEBW> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
DEBW> Para editar sua configuração na lista, use o endereço
DEBW> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
DEBW> Para consultar mensagens antigas: http://firebase.com.br/pesquisa

DEBW> ______________________________________________
DEBW> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
DEBW> Para editar sua configuração na lista, use o endereço
DEBW> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
DEBW> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista