Esse artigo faz parte da revista SQL Magazine edição 54. Clique aqui para ler todos os artigos desta edição

pdf.jpg src="/imagens/imagem_pdf.jpg" width=34 border=0>

Desafio SQL Magazine

Os DBAs da empresa ItsMyBusiness realmente não têm sossego. Mais “dores de cabeça” à vista.

Wagner Crivelini continua te desafiando com base no crescimento do sistema da empresa ItsMyBusiness. Desta vez, a empresa enviou um requisito ao time de DBAs para que desenvolvam um mecanismo que garanta a confiabilidade de todo e qualquer cálculo que envolva o estoque da empresa.

E caso você tenha um desafio que gostaria de compartilhar conosco, envie sua sugestão para webeditor@sqlmagazine.com.br

Divirtam-se.

 

Ricardo Rezende

Editor técnico

 

Desafio de SQL

 

Quem tem acompanhado os desafios das últimas edições, já está se acostumando com o negócio e a forma de trabalhar da empresa ItsMyBusiness.

O problema que viemos acompanhando nas duas últimas edições é sobre o controle do saldo em estoque. Nós criamos:

1.      um gatilho (ou trigger, para quem prefere) para atualização automática do saldo após cada venda;

2.      depois adaptamos o modelo físico do banco de dados para permitir uma maior performance no cálculo do saldo de estoque;

3.      criamos um processo para atualização periódica das novas tabelas usadas neste modelo físico.

 

Na verdade, saldo de estoque dos produtos é, ou deveria ser, uma preocupação constante em praticamente todas as atividades industriais e comerciais.

No modelo físico implementado no banco de dados da ItsMyBusiness, temos um método eficiente de cálculo, mas é um processo delicado. Ele envolve o uso de três tabelas, como se vê na Figura 1 (veja que o modelo de dados da empresa fornece dados de saldo de estoque por lote de produto, mas este é um detalhe que não afeta o nosso estudo).

 

Figura 1. Esquema físico das tabelas de saldo de estoque.

 

Portanto, para consultar o saldo de um dado lote de produto em um determinado instante, será sempre necessário escrever uma declaração SQL complexa. Você terá a oportunidade de compreender o quão complexa é esta lógica, quando começar a solucionar o desafio.

Na realidade, nós já apresentamos procedimentos de cálculo de estoque dentro do gatilho que criamos na edição 52 e também dentro do procedimento de atualização das tabelas de saldo de estoque criadas na edição 53. Mas nenhum deles pode ser considerado um procedimento genérico, útil em todos os cenários em que necessitaremos calcular saldo em estoque de um produto.

Mas não se preocupe se você não acompanhou os desafios anteriores. Basta baixar o script completo de criação deste banco no portal da SQL Magazine.

Observe porque a ItsMyBusiness está tão preocupada com o cálculo de saldo de estoque:

...

Quer ler esse conteúdo completo? Tenha acesso completo