Duvida na criação de tabelas

6 respostas
S

tenho uma tabela de vendas onde tenho três campos, Ven_Codigo, Ven_Data, Ven_TipoPagamento, minha duvida é devo criar outra tabela para o campo tipo de pagamento ou deixo do jeito que esta?

6 Respostas

drsmachado

Tipo de pagamento é apenas um indicador ou é uma entidade com atributos próprios?
Além disso, só haverá um tipo de pagamento por venda?

K

O ideal seria criar uma tabela para tipos,
tendo em vista que você pode adicionar novos
em outra ocasiao.

Tipos_Pagamento

id;

descricao;

seria o ideal.

S

não sei te dizer se é uma entidade pós o único atributo que vejo no tipo de pagamento é a descrição.

sim pondera ter mais de um tipo de pagamento por venda

S

Humm… e no caso de eu ter um status para saber se já foi pago ou não?

drsmachado

Tendo mais de um tipo de pagamento por venda, você já terá que criar uma outra tabela para representar o tipo de pagamento.
Tipo de Pagamento, no meu entender, representa uma tabela de associação entre venda e forma de pagamento, pois, cada venda pode ter mais de uma forma de pagamento e cada forma de pagamento pode figurar em mais de uma venda.

josemanzoli

Um dos erros de modelagem mais típico é esse.

Se você pensar somente no agora pode ser que mais para frente tenha que fazer um workaround imenso para adaptar seu software a entender mais formas de pagamento, se você deixar na forma de descrição onde estará as formas de pagamento (hardcoded, arquivo texto de configuração, Enum)?
1 - Imagina ter que adicionar uma forma de pagamento e ter que recompilar código e subir versão do software somente para isso.
2 - Imagine seu banco de dados crescendo gradativamente com parcelamentos em 12x e cada parcela sendo renegociada e paga de uma forma diferente (caso o tipo de pagamento seja também marcado nas parcelas além da venda em si). Neste caso você precisa criar uma visão de vendas pagas por cartão, boleto, dinheiro e cheque e você ter que fazer esta busca comparando Strings.

E por aí vai.

O mais correto seria criar uma entidade Forma de pagamento onde se precisar no futuro você poderá adicionar atributos ou então mudar descrição e tudo mais que seja necessário sem ter que se preocupar se isso irá afetar relatórios e tudo mais que esteja envolvido com a forma de pagamento.

Criado 17 de dezembro de 2012
Ultima resposta 17 de dez. de 2012
Respostas 6
Participantes 4