resolvi da seguinte forma. criei uma tabela unica de produtos:
> codigo
> descricao
> pai
> tipo (produto ou grupo)

na busca por produtos, a perfomance é razoavel. Na busca por grupos, a
perfomance cai um pouco. resolvi naum quebrar a cabeça muito. serão no
maximo 10 usuarios que utilizarao o sistema, e apenas 2 ou 3 terao
acesso ao cadastro de produtos, entao resolvi naum estressar muito...

--- Em delphi-br@yahoogrupos.com.br, Demian Lessa <[EMAIL PROTECTED]> escreveu
> Você quer comparar o uso de SUBSTRING com um auto-relacionamento? Acho 
> que não...
> 
> Um auto-relacionamento só resolve problemas de uma hierarquia em dois 
> níveis (grupo -> item). E se o agrupamento for em múltiplos níveis 
> (grupo -> subgrupo -> subgrupo -> item), como fica? SUBSTRING atende os 
> requisitos de consulta, qualquer que seja o grau de aninhamento.
> 
> Se houver a possibilidade de múltiplos níveis, a única outra forma 
> razoável de resolver isso é através de funções que retornam record
sets. 
> Isso é simples em ambientes como MS SQL Server, PostgreSQL, etc, mas o 
> custo, aí sim, é alto. A performance cai (para resultados razoavelmente 
> pequenos) e o resultado final pode ficar comprometido.
> 
> Cordialmente,
> 
> Demian Lessa
> Salvador - Brasil
> 
> Luiz Henrique Severo d Oliveira wrote:
> > Utilizar substring numa query fica meio pesado, não? Se fizer um
auto-relacionamento você descobre os pais e os filhos igualando os
campos de código e auto-relacionamento.
> > Pode não ser mais simples de implementar no banco mas acho que
fica melhor na hora de acessar.
> > 
> > 
> > Abraços
> > Luiz Henrique Severo d Oliveira
> > RPG Soluçoes
> > www.rpgsolucoes.com.br
> > 
> > 
> > 
> >> Mensagem: 8         
> >>     Data: Mon, 10 Jan 2005 17:09:25 -0300
> >>       De: Demian Lessa <[EMAIL PROTECTED]>
> >>  Assunto: Re: RES: Sugestão sobre implementação
> >>
> >>Não aconselho utilizar auto-relacionamentos. Vão dar trabalho para 
> >>processar, gerar saídas, etc. Por que não usa um campo STRING para o 
> >>código e uma indicação se o registro é um item ou um grupo? Assim,
para 
> >>selecionar todos os detalhes de um grupo é uma mera questão de usar a 
> >>função SUBSTRING (qualquer que seja seu nome/variação no banco usado).
> >>
> >>Cordialmente,
> >>
> >>Demian Lessa
> >>Salvador - Brasil
> > 
> > 
> > 
> >





-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a