Boa noite pessoal,

Imaginem a seguinte situação: tenho que registrar em um banco de dados dados
relativos à análises químicas, de um ou mais elementos, em uma ou mais
unidades. Existem "dois" *approachs* para esta situação:

CREATE TABLE amostra(
id_amostra serial not null,
foo1 foo,
foo2 foo,
constraints...);

CREATE TABLE resultado(
id_resultado serial not null,
id_amostra references amostra(id_amostra),
au_ppm double,
au_ppb double,
au_pct double,
ag_ppm double,
ag_ppb double,
ag_pct double,
...,
constraints...);

OU

CREATE TABLE resultado(
id_resultado serial not null,
id_amostra references amostra(id_amostra),
id_elemento integer references elementos(id_elemento),
id_unidade integer references unidades(id_unidade),
valor double,
constraints...)

No primeiro caso, terei um monte de colunas (o padrão das análises químicas
são 31 elementos, mas nem sempre o resultado sai com 3 unidades ppm, ppb e
pct - ou seja, 93 colunas) e no outro terei geralmente entre 31 registros
(garantidos, não importa a unidade) à 40 registros (em casos muito
especiais).

Não sei se conseguiram entender como seria a tabela de resultados no
primeiro exemplo...mas me digam aí, o que acham mais viável? Estou advogando
a segunda alternativa, onde repito um id_amostra diversas vezes, mas
flexibilizando a entrada do elemento e da unidade de medida.

O que acham?

Obrigado pela ajuda.

-- 
George R. C. Silva

Desenvolvimento em GIS
www.sextantegeo2.blogspot.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a