Organizar produtos - Qual a melhor maneira?

Delphi

19/06/2004

Estou elaborando um sistema comercia em IntraWeb. Utilizei alguns aplicativos disponiveis no mercado para tirar ideia. (Nesse mundo nada se cria, tudo se co-cria!). Mas eu ainda estou na faze de modelamento dos dados. Mas surgiu uma duvida:
Digamos que sera cadastrado no programa um produto do tipo:

Produto: Sapato Kildare Password

Este produto esta separado por duas cores: Preto e marron. E por tamanhos sendo por exemplo: 36, 38, 40, 42.
Existem n produtos com varias cores e tamanhos. Como é que eu faço pra orgranizar isso em tabelas?

Alguem ja criou algo igual? Poderia me dar uma dica?

Obrigado

Ronaldo Araujo.


Maxadens

Maxadens

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

19/06/2004

Colega,

Fiz um sistema assim uma vez, onde eu tinha atributos de tamanho e cores em separado da descrição para facilitar outras rotinas, como: reposição automática com base no histórico de vendas e outras estatísticas, mas a operacionalização ficou tão complicada que resolvemos utilizar o detalhamento na própria descrição do produto e abrir mão de alguns requisitos.


GOSTEI 0
Maxadens

Maxadens

19/06/2004

Como o Autor Mensagem (Aroldo) comentou, a operabilidade pode se tornar complicada mas eu ja tenho isso em mente. O objetivo pricipal e cadastrar um produto apenas um vez, independente das variantes de cores e tamanhos (ou qualquer outra variante). Imagine se no fim do mês a loja (usada como exemplo) pede novos sapatos. Como vão saber qual cor ou tamanho pedir? Digitar parte da descrição? Uma opção eu sei mas um sapato é um sapato. Se tivessemos 5 tamanhos e 2 cores diferentes, um sapato se tornaria 10 sapatos. (não consigo me acostumar com isso!). O problema é: Como associar isso em tabelas!


GOSTEI 0
Vinicius2k

Vinicius2k

19/06/2004

Colega,

O Aroldo já o fez, mas creio que também devo lhe aconselhar... acho que vc não deve implementar o que pretende...
Desenvolvo aplicações de automação industrial, principalmente no ramo de confecções, que é bastante semelhante ao seu caso... tenho variações de tamanhos, tipo, gramatura e cor de tecidos, cor e gramatura de fio utilizado na confeção da peça e outros mais... é impossível operacionalizar isso...

Vai sempre aparecer uma variação a qual vc não previu durante o desenvolvimento e o resultado vai ser manutenção constante e alteração de estrura das bases, que vc já pode imaginar o quanto será trabalhoso...

Na minha opinião cada variação de, dito, mesmo produto, para a aplicação devem ser produtos diferentes... eu trabalho apenas com uma ID adicional indepedente da ID do produto nas variações (´filhos´) que indicam o produto ´pai´, para fim de agrupamento em consultas e relatórios de inventário, estoques, vendas, reposição, etc...

Através de uma relação 1:n entre duas tabelas : ProdutosBase -> Produtos... podem existir quantas variações forem necessárias de um mesmo produto sendo que a diferenciação entre eles estará na ID e Descrição dos ´filhos´, assim como o Aroldo trabalha... porém agrupados pela ID do ´pai´...

Espero ter ajudado...
T+


GOSTEI 0
Bon Jovi

Bon Jovi

19/06/2004

Excelente a forma do Vinicius, já tive casos assim mas nao pra tratar produtos.

Atualmente não tenho pego projetos desse tipo, mas queria expor um caso passado que já tive em relacao a produtos:

Estrutura:

CATEGORIA (Id_Categoria[PK],  Nome)

PRODUTO (Id_Produto[PK],  Id_Categoria[FK],   Id_Fabricante[FK],  Codigo_Barras,  Qtd_Minima,  Qtd_Maxima,  Obs,  Etc)

CARACTERISTICA_PRODUTO (Id_Caracteristica[PK],  Id_Produto[PK],  Valor)

CARACTERISTICA (Id_Caracteristica[PK],  Nome,  Descricao,  Id_Tipo_Caracteristica[FK])

TIPO_CARACTERISTICA (Id_Tipo_Caracteristica[PK],  Nome)


Exemplo:

---------------------------
TABELA CATEGORIA
---------------------------
Id_Categoria[PK]    Nome
---------------------------
1                   ´Sapato´
2                   ´Sandália´


----------------------------------------
TABELA PRODUTO
----------------------------------------
Id_Produto[PK]  Id_Categoria[FK]  Etc...
----------------------------------------
1               1                 
2               2                 


-----------------------------------------------------------------
TABELA CARACTERISTICA_PRODUTO
-----------------------------------------------------------------
Id_Caracteristica[PK]   Id_Produto[PK]  Valor
-----------------------------------------------------------------
1                       1               ´43´
2                       1               ´Preto´
3                       1               ´Couro´
4                       2               ´Gisele Bundchen Bordada´


------------------------------------------------------------------------------------------------
TABELA CARACTERISTICA
------------------------------------------------------------------------------------------------
Id_Caracteristica[PK]  Nome          Descricao                        Id_Tipo_Caracteristica[FK]
------------------------------------------------------------------------------------------------
1                      ´Tamanho´     ´Numero de um calçado´           2
2                      ´Cor´         ´Cor predominante´               3
3                      ´Material´    ´Nome do material predominante´  1 
4                      ´Modelo´      ´Nome específico do modelo´      1


-----------------------------------------------------------
TABELA TIPO_CARACTERISTICA
Tabela de tratamento do sistema, não alimentada via usuário
-----------------------------------------------------------
Id_Tipo_Caracteristica[PK]    Nome
---------------------------------------------
1                             ´Genérico´
2                             ´Numero´
3                             ´Cor´

(pra visualizar melhor, jogar no bloco de notas sem permitir quebra de linha)

.


GOSTEI 0
Cebadios

Cebadios

19/06/2004

Cara, tive um professor de Oracle na faculdade e ele sempre dizia.....
Toda vez que você for criar uma relação de um para muitos, se torna mais fácil e higiênico criar uma nova tabela. Então é isso, criar relações de 01 para muitos acaba virando dor de cabeça no futuro.


GOSTEI 0
Bacalhau

Bacalhau

19/06/2004

O cebadios tem razão. Mas não me parece que seja impossivel. Por aqui tenho um problema semelhante e resolvi como disse o cebadios. Tudo bem, tenho 180 tabelas criadas :shock: mas o sistema também é um pouco grande.

Gostaria de acrescentar mais uma coisa. Não sei se é igual no Brasil, mas por aqui os fornecedores de roupa têm o péssimo hábito de ´aproveitar´ os mesmos códigos para produtos diferentes. Num ano o código ´123´ representa uma calça. No ano a seguir utilizam o mesmo código para umas meias.

Se for igual por aí, é um pormenor a ter muita atenção.


GOSTEI 0
Marciosystem

Marciosystem

19/06/2004

Bom dia pessoal, nunca fiz sistemas desta forma, mais para voce ter uma ideia como fazer, acho que bom voce dar uma olhada no software habil. nele tem essa funcao, dai acho que voce pedera desenvolver no seu, como voce mesmo diz, nada se cria, se co-cria.

abraco a todos.

Marcio


GOSTEI 0
POSTAR