Pessoal,

Gostaria de compartilhar um problema e verificar se alguém pode me dar uma
opinião.

Tenho a necessidade de associar características a um NCM
<http://classificacaodemercadorias.com.br/como-e-a-estrutura-e-composicao-da-nomenclatura-comum-do-mercosul-ncm.html>.
Um código NCM é formado da seguinte forma:

SEÇÃO           I DEFINIÇÃO
Capítulo 01 Animais vivos
Posição 0104 Animais vivos das espécies ovinas ou caprinas
Subposição 0104.10 Ovinos
Item 0104.10.1 Reprodutores de raça pura
Subitem 0104.10.11 Prenhe ou com cria ao pé


Acontece que a característica pode estar associado a qualquer nível do NCM.
O fato é que quando eu fizer uma consulta a um código 0104.10.11, tenho que
retornar as características que estão associadas diretamente ao código e
também as características que estiverem associadas aos códigos de
hierarquias superiores.

Minha dúvida está em qual seria a melhor forma de armazenar este código,
para que as consultas tenham a melhor performance.

Armazenar cada pedaço do código em uma coluna separada, ou gravar em um
único campo string?

Existe alguma forma melhor de executar a consulta (performance) do que a
abaixo?

select * from ncmcaracteristica
Where
subitem = '0104.10.11'
OR item = '0104.10.1'
OR subposicao = '0104.10'
OR posicao = '0104'
OR capitulo = '01'

Agradeço antecipadamente pela ajuda.

Grato,
Luciano
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a