Bom dia George.

Acredito que a segunda forma eh mais adequada, pois seu banco de dados vai
ficar mais normalizado e organizado.
Veja que o fato de você ter mais registros é compensado de certa forma por
ter menos colunas, então acho que não precisa se preocupar com isso.
Outro fato importante é que no segundo caso seu sistema vai ficar bem mais
fácil de ser expandido caso isso seja necessário futuramente, pois você não
vai precisar modificar suas colunas da tabela resultado, diminuindo futuras
dores-de-cabeça ao ter que remodelar sua implementação para mais colunas.
Portanto, meu voto vai pra opção 2 ;)

Abraços,
Raphael Augusto Dourado.
http://raphaaugusto.wordpress.com


>
> Message: 3
> Date: Mon, 24 Aug 2009 19:32:15 -0300
> From: George Silva <[email protected]>
> Subject: [pgbr-geral] Dúvida modelagem
> To: Comunidade PostgreSQL Brasileira
>        <[email protected]>
> Message-ID:
>        <[email protected]>
> Content-Type: text/plain; charset="iso-8859-1"
>
> 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