Ir para conteúdo

Arquivado

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

Okani Yori

Idéia para Tabela de Atributos relacionadas a Produtos.

Recommended Posts

Oi, estou desenvolvendo um E-commerce e estou com um problema para criar atributos para os produtos.

 

Os atributos por exemplo podem ser cor, tamanho, memória ram, tamanho da tela...

A tabela de Produtos contém o básico como id,nome do produto, codigo de barras, descrição...

 

O preço e a quantidade do Produto ficaram em uma tabela intermediaria. Não estou conseguindo identificar as tabelas que o sistema devem ter para fazer o que foi informado.

 

Por exemplo pode ter uma camisa com os atributos : Cor verde, Tamanho M e quantidade 4,preco 35 e outro Cor verde, Tamanho G, quantidade 2, preco 36 e um tablet com os atributos: hd 8gb, cor preto, quantidade 2, preço 400 e outro hd 16, cor preto, quantidade 3, preço 500.

 

Alguém tem alguma ideia de como posso elaborar essas tabelas?

 

No momento fiz para camisas, onde uso uma tabela para os atributos com os campos id, cor, tamnho. Uma tabela intermedia com id, produto_id, atributo_id e quantidade. Desse jeito funciona, mas fica fixo para os atributos no caso cor e tamnho e quero algo mais dinâmico.

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentou o Pesquisar ?

 

Já vi esta questão aqui várias vezes, procure por "categoria" ou palavras afins.

 

Apenas acho que preço e quantidade são atributos diferentes, uma camisa não encolhe ou muda de cor (não deveria) , mas o estoque muda com chegada de novas peças e as vendas, o preço pode mudar pois pode haver uma promoção ou a bichinha voltar á moda e o preço subir...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentou o Pesquisar ?

 

Já vi esta questão aqui várias vezes, procure por "categoria" ou palavras afins.

 

Apenas acho que preço e quantidade são atributos diferentes, uma camisa não encolhe ou muda de cor (não deveria) , mas o estoque muda com chegada de novas peças e as vendas, o preço pode mudar pois pode haver uma promoção ou a bichinha voltar á moda e o preço subir...

 

Oi, procurei rápido, mas agora dei uma pesquisada melhor e não encontrei uma resposta. O mais próximo foi esse, mas o maior problema no meu caso é que a quantidade está relacionada com os atributos de um produto, pois só assim consigo manter o estoque correto.

 

Logo mesmo tendo uma tabela intermediaria que pode ter o produto_id, atributo_id não sei como juntar todos os atributos que um produto pode ter e especificar seu preço e quantidades nesses atributos.O problema é o estoque, se não fosse isso, seria fácil fazer.

 

Imagino que teria que ter na tabela intermediaria com n atributos que um produto pode ter, mas isso tornaria o sistema fixo, coisa que não quero deixar. Teria alguma idéia? grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Repare que: Cor, Tamanho, Quantidade, Preco são atributos que devem possuir um campo especifico no banco de dados, assim como outros tais como dimensões, peso, caracteristicas, etc...

 

Dessa forma, a tabela deverá ter essas informações em campos que servirão para facilitar a busca e na organização dos dados, pois pelo que entendi, você imagina que todos ficariam reunidos num unico campo no banco de dados.

 

O banco de dados que vai armazenar as informações do produto deverá possuir campos que informem de forma clara e precisa as informações ali contidas, seja por facilitar sua manutenção, seja para entregar mais rapidamente e de forma exata aquilo que foi solicitado.

 

codigo

nome

descricao

preco

quantidade

tamanho

cor

dimensoes

caracteristicas

peso

categoria

...

 

Isso seriam apenas alguns dos campos que deverão existir de forma básica num e-commerce, dependendo do cliente e dos produtos que são comercializados, podemos ter outros campos, ou retirar algum desses campos.

 

Repare também que campos como tamanho podem conter a medida de uma roupa ou a capacidade de armazenamento de um hd ou memória.

 

Embora armazenem informações de produtos diferentes, teriamos de criar verificações onde dependendo da categoria as informações mudem, por exemplo, se for roupa será exibido o tamanho, se for hd, será exibido capacidade.

 

E detalhes assim onde seriam feitos ajustes no tipo de informação a ser exibida para o cliente dependendo da categoria do produto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agradeço a ajuda de ambos, mas sobre os atributos eu já tenho ideia de como montar. O problema é o controle da quantidade do produto. Já que os atributos são genéricos e podem ser gerados na hora, não posso tornar fixo no banco, logo como posso criar a tabela intermediaria produto_atributos a fim de garantir a quantidade e o preço

 

Ex: produto_atributos - id, produto_id, ids dos atributos (aqui o problema), quantidade, preco.

 

ex real:

camisa -> tamanho P cor Azul quantidade 3

produto -> id, descricao...

atributos -> nome: id,tamanho, valor: P , id,nome:cor, valor Azul.

produto_atributos -> id, produto_id, atributos_id (como gerar isso), 3, preco

 

No caso, eu consegui fazer, tornando os atributos_id fixo, mas tornaria o sistema preso demais.

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tive uma ideia, mais não sei se deve ser a mais correta.

 

Os atributos seriam uma tabela normal, como nome, valor e categoria_id .

O produto_atributos seria normal também, mais em atributos_id pode ter mais de 1 id.

 

O problema começa em atributos, tem como fazer chave estrangeira usando uma única coluna? No caso a ideia é em categoria_id ficar os ids das categorias no qual aquele atributo faz parte.

 

E em atributos_id a ideia é ter um conjunto de atributos que referência a atributos.

 

Sei que sem chave estrangeira vai funcionar, mas caso apague uma categoria ou atributo, pode causar um problema grave no sistema, já que desse jeito o id ainda vai ser referênciado, mas não vai ter nada. Alguém sabe como fazer isso com MYSQL.

 

Ex: em categoria_id eu coloco como varchar(20) , sendo que os IDs vão ficar assim 2,4,5 ou seja separados por ,. E quero manter a referências deles com a chave estrangeira. Sei que tem como se eu criar uma coluna para cada categoria_id, mas tornaria a solução muito rigida, já que teria que saber quantas categorias estão ligadas a um produto, podendo ser 1 até n.

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No fim, vi que não tem como no MYSQL usar uma coluna com várias chaves estrangeiras, então eu adotei o jeito mais simples e pelo jeito funcional. Vou replicar os produtos, logo a quantidade e preços vão ficar na tabela produtos mesmo, infelizmente essa parece ser a única maneira correta, obrigado a todos que tentaram ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, não é a solução para seu problema, mas talvez possa ajudar em algumas partes da sua solução: já leu sobre SKU? http://en.wikipedia....ck-keeping_unit

 

É mais voltado para estoque, porém pode ser que algo te ajude (ainda mais se for trabalhar com esta parte).

 

Oi, interessante, mas vou usar o código de Barras para identificar um produto, que seria basicamente o mesmo que SKU. Acho que a melhor maneira para fazer como eu queria seria usando NoSQL, mas no meu caso não compensa essa mudança radical.

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.