NetBoy16 72 Denunciar post Postado Maio 21, 2012 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
aline_ 4 Denunciar post Postado Maio 22, 2012 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
NetBoy16 72 Denunciar post Postado Maio 22, 2012 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
aline_ 4 Denunciar post Postado Maio 22, 2012 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
NetBoy16 72 Denunciar post Postado Maio 22, 2012 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
aline_ 4 Denunciar post Postado Maio 22, 2012 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
NetBoy16 72 Denunciar post Postado Maio 28, 2012 entao, isso que tinha pensado, mas ao contrário, valeu :D Compartilhar este post Link para o post Compartilhar em outros sites