Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

NetBoy16

[Resolvido] relacionamento de tabelas

Recommended Posts

Fala pessoal, beleza, eu estou tendo uma grande dúvida num relacionamento de tabelas um para muitos, a situação é a seguinte, eu estou cadastrando produtos, mas não exatamente um produto, seria mais mesmo um item do pedido, esse item teria isbn, qtde e valor, dai por exemplo cadastrei 10 itens, quando clicar em enviar vai montar o pedido e cadastrar isso na tabela pedido, ou seja, teria uma tabela item_pedido que é referente a esses itens que o usuario cadastrar e um tabela pedido que é quando ele clica em enviar e monta o pedido e esses itens são cadastrados na tabela pedido, eu estou tendo duvidas em como montar e relacionar isso, alguém pode me dar uma luz, não to conseguindo formar a lógica para fazer isso, alguém por favor pode me ajudar ? :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Netboy,

 

Você já montou quase tudo.

 

Vai ser mais ou menos assim:

Tabela Item: id_item, isbn e valor - Não crie aqui nenhum campo que só tem significado no pedido.

Tabela Pedido: id_pedido, outros_dados_do_pedido...Não crie aqui nenhum relacionado ao item.

Tabela Item_pedido: #id_pedido, #ide_item, qtd (Considerando que qtd é a quantidade do mesmo item em um pedido).

 

Na tabela pedido pode ter o valor_total, que seria a soma do item.valor * item_pedido.qtd, para cada item da tabela item_pedido.

 

Coloca no papel e depois tenta seguir as regras da Nomalização de Dados, pelo menos até a 3FN.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela resposta, mas entao, nesse caso nao vai ter calculo de valor de acordo com a quantidade, vai ser o item que o usuario adiciona, digita isbn, qtde e valor, dai quando ele selecionar e clicar em enviar vai montar o pedido adicionando esse itens e cadastrando no pedido.

 

Mas dai pensei no seguinte, a tabela pedido seria normal, dai na tabela teria os campos normais do item_pedido e tb teria um id_pedido, que relacionaria ao pedido, nesse caso por exemplo se tive 3 itens, teria o id_itenpedido 1,2 e 3 por exemplo, e como todos fazem parte de um mesmo pedido esses 3 teria o id_pedido 1 por exemplo, entendeu? estou correto nessa logica ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei.. escreve a estrutura toda pra eu ver como você etá pensado.

 

Não precisa de um id_itempedido. A chave da tabela item_pedido vai ser a combinação do id_pedido com o id_item.

O id_item vem da tabela item, onde já deveriam estar cadastradas as informações do item.

 

Não entendo porque o usuário digita o valor. Ele escolhe o valor? Já deveria estar cadastrado na tabela. Ele digita o isbn e você busca as demais informações.

A quantidade significa o que? Se é quantos itens terão no pedido, isso fica na tabela item_pedido, não pode ficar na item. Senão você obriga a sempre ter a mesma quantidade de itens em todos os pedidos.

 

Pense na tabela item como única. É uma tabela onde se guarda as informações dele. Pode ter um item lá que nunca vai ser usado em um pedido.

 

Item

1 - Papel R$5,00

2 - Caneta R$2,00

3 - Borracha R$3,00

 

Pedido 1 - 4 canetas e 2 borrachas

Pedido 2 - 10 papéis

Pedido 3 - 50 borrachas

 

Na tabela item_pedido ficará

pedido item qtd

1 2 4

1 3 2

2 1 10

3 3 50

 

É essa a idéia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei.. escreve a estrutura toda pra eu ver como você etá pensado.

 

Não precisa de um id_itempedido. A chave da tabela item_pedido vai ser a combinação do id_pedido com o id_item.

O id_item vem da tabela item, onde já deveriam estar cadastradas as informações do item.

 

Não entendo porque o usuário digita o valor. Ele escolhe o valor? Já deveria estar cadastrado na tabela. Ele digita o isbn e você busca as demais informações.

A quantidade significa o que? Se é quantos itens terão no pedido, isso fica na tabela item_pedido, não pode ficar na item. Senão você obriga a sempre ter a mesma quantidade de itens em todos os pedidos.

 

Pense na tabela item como única. É uma tabela onde se guarda as informações dele. Pode ter um item lá que nunca vai ser usado em um pedido.

 

Item

1 - Papel R$5,00

2 - Caneta R$2,00

3 - Borracha R$3,00

 

Pedido 1 - 4 canetas e 2 borrachas

Pedido 2 - 10 papéis

Pedido 3 - 50 borrachas

 

Na tabela item_pedido ficará

pedido item qtd

1 2 4

1 3 2

2 1 10

3 3 50

 

É essa a idéia?

 

 

Entao, a ideia é bem mais simples, n vai ter uma tabela produtos onde digitando o isbn vai buscra informacoes de preco, etc...o preco vai variar, entao o preco o usuario define na hora de incluir um iten no pedido, digita isbn, qtde e valor, depois que tiver pronto seleciona os itens e envia o pedido, entao basicamente seriam apenas 2 tabelas, a tabela pedido que é quando o usuario enviar o pedido vai cadastrar lah e a tabela itens_pedido que teria o id_iten, isbn, qtde, valor eee pra relacionar o campo id_pedido, entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao, a ideia é bem mais simples, n vai ter uma tabela produtos onde digitando o isbn vai buscra informacoes de preco, etc...o preco vai variar, entao o preco o usuario define na hora de incluir um iten no pedido, digita isbn, qtde e valor, depois que tiver pronto seleciona os itens e envia o pedido, entao basicamente seriam apenas 2 tabelas, a tabela pedido que é quando o usuario enviar o pedido vai cadastrar lah e a tabela itens_pedido que teria o id_iten, isbn, qtde, valor eee pra relacionar o campo id_pedido, entendeu ?

 

Então é isso ai! rsrs

 

Pedido e item_pedido. Na item_pedido fica o id do pedido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao, isso que tinha pensado, mas ao contrário, valeu :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.