Fórum Qual campo relacionar para criar um-para-muitos? #598657

15/11/2018

0

Boa tarde,
Estou tendo dificuldades em estabelecer uma relação entre duas tabelas.
Estou desenvolvendo um mini-sistema de uma papelaria onde um funcionário vai até o terminal, cadastra o numero da comanda e os produtos na qual o cliente pediu.
No caixa, o funcionário puxa os produtos pelo numero da comanda e o valor total.
Minha dificuldade está em associar a tb_comanda (numero_comanda[chave primaria], cod_barrras) e tb_produtos(id, nome, valor).
Como posso estabelecer uma relação um para muitos nessa situação? (visto que quero associar uma comanda para vários produtos).
Igor Benavente

Igor Benavente

Responder

Post mais votado

16/11/2018


Não seria na Tabela Comanda, conforme o usuário for inserindo o produto, o ID do produto irá inserir na tabela comanda?
Ou criar uma tabela a parte, para essa relação? Que irá atualizar conforme a compra?

Por que a relação é:

1 (comanda) para (MUITOS) produtos

Rebeca Domingos

Rebeca Domingos
Responder

Gostei + 3

Mais Posts

16/11/2018

Igor Benavente

Então, o que eu fiz foi colocar uma coluna "id_comanda" na tabela de produtos como chave estrangeira, mas não sei se é o certo pra estrutura do bd, até pq ficou bem confuso...
Como ficaria uma tabela a parte? Pq também pensei em fazer mas não daria pra colocar vários produtos, a não ser que crie várias tabelas como se as tabelas fossem as comandas e só ir adicionando os produtos, mas aí ficaria limitado a x tabelas que eu criasse...
Responder

Gostei + 1

16/11/2018

Rebeca Domingos

Não seria o correto colocar o ID_comanda na tabela produtos. Até, pq posso vender o mesmo produto para várias comandas.

A tabela a parte seria tipo

Tabela Vendas:

ID_Comanda
ID_Vendedor
ID_Total (R$)
(ID) Produto 1
(ID) Produto 2
(ID) Produto 3
.
.
.



Aí, ficaria limitado o Número de Produtos. Uns, 100 por exemplo.

Mas, pela lógica vc pode fazer isso na própria tabela Comanda.
Só, acho que separado fica mais organizado.
Pq, vc pode colocar, tipo o vendedor (código).

Vou pesquisar algo, e posto aqui.
(achei legal a dúvida)

Responder

Gostei + 1

16/11/2018

Rebeca Domingos

Não seria o correto colocar o ID_comanda na tabela produtos. Até, pq posso vender o mesmo produto para várias comandas.

A tabela a parte seria tipo

Tabela Vendas:


(Cada venda, será uma linha da tabela) - Então posso ter N vendas.

ID_Vendas
Dta_Venda
Hra_Venda
ID_Comanda
ID_Vendedor
ID_Total (R$)
(ID) Produto 1
(ID) Produto 2
(ID) Produto 3
.
.
.



Aí, ficaria limitado o Número de Produtos. Uns, 100 por exemplo.

Mas, pela lógica vc pode fazer isso na própria tabela Comanda.
Só, acho que separado fica mais organizado.
Pq, vc pode colocar, tipo o vendedor (código).

Vou pesquisar algo, e posto aqui.
(achei legal a dúvida)

Responder

Gostei + 0

16/11/2018

Alex William

Dica:

Crie uma tabela chamada mov_comandas ou algo assim, com dois campos (id_comanda, id_produto) ai toda a vez q ele lançar uma comanda e os produtos vc tera registros mais ou menos assim:

id_comanda | id_produto
1 1
1 2
1 3
1 n

2 1
2 2
n n

Fica mais facil depois fazer relatorios, lembrando que os dois campos devem ser chaves estrangeiras, e nenhum deve ser unico dentro dessa tabela.

Espero ter ajudado.
Responder

Gostei + 1

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar