Dúvidas criação de estrutura de banco de dados

4 respostas
J

Bom dia a todos.

é o seguinte, estou com uma dúvida aqui na criação de um projeto com relação a estrutura do banco de dados.
eu tenho uma tabela de vendas, nela tenho o cliente e o produto, daí eu faço a venda, insere a tabela no banco de dados e tudo certo.

o problema começa quando eu quero excluir um cliente, ou um produto que já foi vendido, ele nao deixa pois existe na tabela de vendas o registro do cliente, ou do produto.

Como devo proceder com a estrutura do banco de dados?

(sei que é uma duvida de iniciante, porem já tenho uns projetos pra fazer e isso me atrapalha muito)

obrigado desde já.

4 Respostas

Ruttmann

Então colega, nesse caso específico digo por experiência própria que o melhor a se fazer é esquecer esse negócio de excluir produtos e clientes do teu banco de dados…

Por que?

Primeiro porque isso está tudo atrelado entre si, vendas, clientes, produtos, formas e prazos de pagamento e todo o resto…

Vai que você exclui um produto que daqui a um ano volta a ser comercializado? Fica chato ter que cadastrar novamente né?

A abordagem mais interessante é você adicionar um “flag” em cada tabela que você sabe que pode sofrer alterações e inativações. E em cima disso, adotar o sistema de ativo/inativo.

Desse modo você mantém todo um histórico das vendas no sistema, o que pode ser bem útil para o cliente. Você não sabe o quanto já me bati atrás de venda feita 2 anos atrás, que o sistema não mantinha…

Enfim, o interessante é não excluir. Mantenha e apenas dê o status de inativo, pois um dia pode voltar a ser útil, e se você excluir um produto por exemplo, vai perder todo o histórico do mesmo, o mesmo se aplica a clientes…

:roll:

J

Hum entendi, valeu pela dica, vou fazer isso mesmo que voce indicou, criarei um flag pra ativo/inativo e pronto :slight_smile:
eu pensei que tivesse outra forma de controlar, mas a melhor é essa mesmo né.

entao posso colocar uma coluna “ativo” do tipo boolean?
e coloco um check box?

valeu pela dica

Ruttmann

juanlogin:
Hum entendi, valeu pela dica, vou fazer isso mesmo que voce indicou, criarei um flag pra ativo/inativo e pronto :slight_smile:
eu pensei que tivesse outra forma de controlar, mas a melhor é essa mesmo né.

entao posso colocar uma coluna “ativo” do tipo boolean?
e coloco um check box?

valeu pela dica

Isso mesmo, um campo boolean já basta!

:smiley:

Essa é uma prática usada muito em sistemas ERP e é uma das mais indicadas também.

São poucas coisas nesse tipo de sistemas que são passíveis de exclusão direta no BD. A maioria é setada como inativa, ou movida pra “arquivo morto”, esse tipo de coisa. Acaba não constando no sistema as vezes, por ser informação antiga, mas ainda assim permanece pra posterior consulta…

J

blz Ruttman!
é vivendo e aprendendo.

Obrigado…

Criado 10 de dezembro de 2012
Ultima resposta 10 de dez. de 2012
Respostas 4
Participantes 2