Estou com um problema que é o seguinte, preciso colocar os atributos de produtos em uma loja virtual e estou me batendo muito na disposição das tabelas do banco.
Agora está assim:
Tenho as tabelas:
Produtos (Que são os valores fixos dos produtos, como descrição, informações técnicas).
Então o que acontece, o usuário entra em um produto, por exemplo, a camiseta polo (idProduto 10) e seleciona a variação... Por exemplo: Cor - Amarela, Tamanho - 42. Nessa hora eu preciso ir no banco de dados e verificar qual o código do produto com a variação correspondente segundo o idProduto.
Nesse exemplo que dei, segue os dados:
Camiseta Polo (idProduto 10)
Cor (idTipoAtributo 1)
Amarelo (idAtributo 1)
Tamanho (idTipoAtributo 2)
42 (idAtributo 4)
O problema é que na disposição que está o banco de dados agora, se eu fizer esse select, eu vou achar somente o codProduto da camiseta AMARELA ou somente a camiseta NUMERO 42 e nunca as duas variações juntas para um produto.
Sei que eu poderia criar mais campos na tabela produtos_complemento como "idTipoAtributo1, atributo1, idTipoAtributo2, atributo2" mas dessa forma eu teria uma quantidade de atributos fixa, e não é esse o caso, pois meu cliente poderá cadastrar N atributos para cada produto.
Então fica a dúvida, qual a forma correta de deixar o BD?
Desculpem pelo texto enorme, mas não vi outra forma de explicar corretamente sem colocar todos os exemplos.
Pergunta
Nukes
Boa noite galera!
Estou com um problema que é o seguinte, preciso colocar os atributos de produtos em uma loja virtual e estou me batendo muito na disposição das tabelas do banco.
Agora está assim:
Tenho as tabelas:
Produtos (Que são os valores fixos dos produtos, como descrição, informações técnicas).
produtos_complemento (que são os valores variaveis dependendo do item) tipos_atributos (que são os tipos de atributos que posso colocar nos produtos) atributos (são os atributos em si) produtos_atributos (é a relação entre o atributo e o produto)Então o que acontece, o usuário entra em um produto, por exemplo, a camiseta polo (idProduto 10) e seleciona a variação... Por exemplo: Cor - Amarela, Tamanho - 42. Nessa hora eu preciso ir no banco de dados e verificar qual o código do produto com a variação correspondente segundo o idProduto.
Nesse exemplo que dei, segue os dados:
Camiseta Polo (idProduto 10)
Cor (idTipoAtributo 1)
Amarelo (idAtributo 1)
Tamanho (idTipoAtributo 2)
42 (idAtributo 4)
O problema é que na disposição que está o banco de dados agora, se eu fizer esse select, eu vou achar somente o codProduto da camiseta AMARELA ou somente a camiseta NUMERO 42 e nunca as duas variações juntas para um produto.
Sei que eu poderia criar mais campos na tabela produtos_complemento como "idTipoAtributo1, atributo1, idTipoAtributo2, atributo2" mas dessa forma eu teria uma quantidade de atributos fixa, e não é esse o caso, pois meu cliente poderá cadastrar N atributos para cada produto.
Então fica a dúvida, qual a forma correta de deixar o BD?
Desculpem pelo texto enorme, mas não vi outra forma de explicar corretamente sem colocar todos os exemplos.
Obrigado desde já!
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.