Fórum Cadastro de grupos e subgrupos. #450612

01/08/2013

0

Estou tendo dificuldades para criar um cadastro de grupos e subgrupos, eu quero criar um grupo do tipo BEBIDAS e salvar depois criar um subgrupo dentro do BEBIDAS que vai ser o REFRIGERANTES.

Como ficaria a tabela?

O melhor para isso seria criar 2 tabelas? Criar 1 tabela?

Gostaria da opinião de vocês.
Nícolas Braz

Nícolas Braz

Responder

Posts

01/08/2013

Francisco Macário

Olá.

De forma básica:

Tabela Grupo, campos ID, CODIGO, DESCRICAO.

Tabela SubGrupo, campos ID, FK_ID_GRUPO, CODIGO, DESCRICAO.

Seria isso.
Responder

Gostei + 0

01/08/2013

Nícolas Braz

É que eu queria que quando o usuário fosse cadastrar um produto e ele fosse selecionar o grupo ficasse assim.

http://imageshack.us/photo/my-images/441/nkvo.png/
Responder

Gostei + 0

01/08/2013

Nícolas Braz

É que eu queria que quando o usuário fosse cadastrar um produto e ele fosse selecionar o grupo ficasse assim.

http://imageshack.us/photo/my-images/441/nkvo.png/
Responder

Gostei + 0

02/08/2013

Joel Rodrigues

A estrutura que o amigo sugeriu é adequada à situação.
Responder

Gostei + 0

02/08/2013

Rodolpho Silva

Bem, eu faria da seguinte maneira...

Criaria apenas uma tabela, com a seguinte estrutura:
Tabela GRUPOS
  IDGRUPO Inteiro,
  CODHIERARQUICO Texto,
  DESCRICAO Texto

Onde controlaria os níveis dos sub-grupos através do código hierárquico. Essa estrutura é bastante usada em sistemas de contabilidade, no cadastramento das contas-contábeis. Dessa forma, você praticamente não terá limite nas inserções de sub-grupos, ex:
COD Descrição
01 Bebidas
0101 Refrigerantes
010101 Coca-Cola
010102 Pepsi
010103 Fanta
0102 Sucos
010201 Del Vale
010202 XPTO
.....


Espero ter ajudado.
Responder

Gostei + 0

02/08/2013

Joel Rodrigues

O problema que eu vejo nesse formato, apesar de ser interessante, é que dificulta o relacionamento entre grupo e seus subgrupos.
Responder

Gostei + 0

02/08/2013

Rodolpho Silva

O problema que eu vejo nesse formato, apesar de ser interessante, é que dificulta o relacionamento entre grupo e seus subgrupos.

Mas dificulta em qual sentido?
Responder

Gostei + 0

02/08/2013

Francisco Macário

O problema que eu vejo nesse formato, apesar de ser interessante, é que dificulta o relacionamento entre grupo e seus subgrupos.

Mas dificulta em qual sentido?


Nos mostre como consultaria apenas o sub-grupo SUCOS.

Responder

Gostei + 0

02/08/2013

Rodolpho Silva

Nos mostre como consultaria apenas o sub-grupo SUCOS.


select idgrupo, codhierarquico, descricao from grupos where codhierarquico like '01020%';
Responder

Gostei + 0

02/08/2013

Nícolas Braz

Criando duas tabelas como Grupos e subgrupos eu consigo deixar 3 níveis de grupos?

01 bebidas
01.01 refrigerantes
01.01.01 coca-cola
Responder

Gostei + 0

02/08/2013

Joel Rodrigues

O problema que eu vejo nesse formato, apesar de ser interessante, é que dificulta o relacionamento entre grupo e seus subgrupos.

Mas dificulta em qual sentido?

Então, já foi exemplificado pelo amigo acima, certo?
Eu acho que esse código de hierarquia caberia como um campo "extra", apenas para organização.
Responder

Gostei + 0

02/08/2013

Rodolpho Silva

Eu acho que esse código de hierarquia caberia como um campo "extra", apenas para organização.

Bem, eu não consideraria-o como "extra" mas sim "fundamental" para descobrir quais são as coordenadas X e Y da minha estrutura.

É apenas minha modesta opinião....
Responder

Gostei + 0

02/08/2013

Joel Rodrigues

Sim, sim, com "extra" eu não quis dizer que ele não é importante, eu quis dizer apenas que não acho que deva ser ele a única forma de identificar a hierarquia do grupo.
Responder

Gostei + 0

02/08/2013

Francisco Macário

Olá Rodolpho123.

Este seu exemplo se encaixa para controles contabeis como vc informou, mas acho muito para um cadastro de grupos e sub.

Temos que notar que há diferença entre como armazenamos a estrutura e como ela é exibida.
Responder

Gostei + 0

02/08/2013

Joel Rodrigues

Talvez uma outra forma seja ter uma única tabela de grupos, onde cada grupo de um um identificador único e um campo "pai" (faltou um nome melhor). Se este campo for nulo, indica que é um grupo do mais alto nível da hierarquia, se tiver o código "1", indica que é um subgrupo do grupo 1 e assim por diante.

Exemplo:
Grupo: Roupas Código: 1 Grupo_Pai: 0 (ou null)
Grupo: Camisas Código: 2 Grupo_Pai: 1 (subgrupo do grupo Roupas)
Grupo: Regatas Código: 3 Grupo_Pai: 2 (subgrupo do subgrupo Camisas)
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar