[firebase-br] Qual a melhor alternativa?

Eduardo Jedliczka edujed em gmail.com
Qui Set 10 19:13:01 -03 2009


Acho que o seu problema conceitual é um pouco mais amplo.

Muito tempo atrás eu atendia uma empresa que tinha o seguinte cenário:

vários caixas frente-de-loja (uma espécie de PDV), um caixa geral,
duas contas correntes, uma pasta-sanfonada de cheques pre-datados, e
uma outra  pasta-sanfonada com notas promissórias.

O problema é que elas eram interligadas e eu tinha algumas
transferências entre caixa-loja e caixa-geral (por culpa da falta de
troco, ou "descargas" em dias de grande movimento) e também a
transferência/depósito/retirada entre os bancos e o caixa geral, além
dos "futuros" contidos nas sanfonas.

Depois de muito conversar e pensar, imaginei uma tabela chamada
carteira (uma mistura de carteira de cobrança, com títulos e despesas,
ou seja, algo que indique onde o dinheiro ou documento realmente
esteja) e cadastrei cada um dos caixa-loja, das contas bancárias, das
pastas-sanfonadas, cartões de crédito, além do caixa geral, e
relacionei todo o contas a pagar / receber com esta tabela de
carteiras. A partir disto, a minha tabela de movimentação passou a ter
o código da carteira de origem e o código da carteira de destino (duas
FKs simples), também tinha um único código de operação (uma espécie
combinada da sua classificação de despesa e receita).

Claro que esta abordagem me forçou a criar uma tabela pessoa (contendo
tanto fornecedores, clientes e funcionários). A partir deste ponto a
ligação entre pessoas, títulos (que estavam numa carteira, e eram a
pagar ou receber, e pertenciam à uma pessoa) e baixas/quitações
tornaram-se simples e direta.

O único problema que enfrentei neste modelo foi a "amarração" entre as
notas fiscais (seja de compra, venda ou troca) com os respectivos
títulos (relacionamento n-m).

Fica ai a dica.

Eduardo Jedliczka


2009/9/10 Reginaldo Martins Costa <rmc1701e em ig.com.br>:
> Olá colegas.
>
> Estou com uma dúvida conceitual e gostaria da opinião de vocês.
>
> Tenho uma tabela de movimento da tesouraria que armazena movimentações de
> Débito e Crédito em Caixas ou Contas Correntes. A chave da tabela é Data +
> Sequencia.
>
> O que seria melhor:
> 1. Ter nesta tabela os campos de Caixa e Conta Corrente
> (banco/agência/conta) e deixar um ou outro nulo dependendo de qual local foi
> movimentado.
>
> 2. Criar 2 tabelas filhas, sendo:
>  -MovimentoCaixa: Data + Sequencia + Caixa
>  -MovimentoContaCorrente: Data + Sequencia + Conta
>  E carregar uma ou outra tabela dependendo de qual local foi movimentado.
>
> Eu fiz o sistema baseado na 1a. alternativa (aceitando campos nulos, porem
> com integridade relacional com as tabelas de Caixa e Conta Corrente), mas
> agora estou realmente em dúvidas se esta é a melhor solução. E me vi com a
> necessidade de colocar mais 2 campos na tabela de movimento da tesouraria:
> Classificação de Despesa e Classificação de Receita, sendo que SEMPRE 1
> destes campos estará nulo. Seria uma alternativa melhor criar 2 tabelas
> filhas do tipo: SaidaTesouraria e EntradaTesouraria?
>
> Agradeço as opiniões!
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
[s]

==========================
Eduardo Jedliczka
Apucarana - Pr
==========================




Mais detalhes sobre a lista de discussão lista