Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

BANCO DE DADOS - SQL

Boa noite, agradeço ajuda. Preciso criar tabela para armazenar os pedidos que o cliente gerou. Relacionar pedido x cliente x produtos escolhidos Já tenho a tabela produtos e usuários Mas a tabela pedido estou quebrando a cabeça porque não consigo entender como armazenar os itens escolhidos pelo usuário uma vez que eu tenho que ter apenas um código de pedido que contenha todos os produtos comprados. Como posso modelar esse banco? Obrigado

7 respostas

Oi Sergio, tudo bem? Acho que o legal seria criar uma outra tabela, itens do pedido. Neste você salva cada produto relacionado ao pedido (Um para muitos).

Na tabela de pedidos, você relaciona o pedido e o cliente (Muitos para Muitos).

TB_CLIENTES -> TB_PEDIDOS -> TB_PEDIDO_ITENS -> TB_PRODUTOS

Entendi Wanderson e Tiago. Mas como criar essa tabela pedido itens?

Seria algo assim?

create table pedido_intens(
id INTEGER AUTO_INCREMENT PRIMARY KEY ,
pedido_id VARCHAR(50)
produtos_id VARCHAR( 50 ) 
)

Isso aí. Apenas utilize inteiros para chaves estrangeiras.

Seria isso Tiago?

create table pedido_intens(
id INTEGER AUTO_INCREMENT PRIMARY KEY ,
pedido_id  int(50)
produtos_id int( 50 ) 
)

mas não vai gerar um id primary key para cada pedido e para cada produto? Não teria que ter 1 pedido para vários produtos?

Id   pedido_id          produtos_id
1         2                  15
2         2                  09
.
.
.

seria assim?

solução!

Exatamente isso amigo.

1 pedido, que está vinculado a 1 cliente, poderá ter vários itens, cada item sendo 1 produto. Os dados da tabela ficarão exatamente como você demonstrou.

Poderá ainda na tabela de itens do pedido complementar com campos adicionais informando a quantidade de cada produto dentre outros conforme sua necessidade.

Obrigado Tiago, vou implementar é já

Obrigado também ao Wanderson!!!

abraços!