Srs,
Temos o seguinte cenário:
* Relações:
fornecedores_locais: {#id_for, nm_for ...}
fornecedores_externos: {#id_for_e, nm_for, ds_end, ...}
contrato: {id_for FK {id_for REF (fornecedores_locais ||
fornecedores_externos)}}
* Um contrato deve possuir fornecedores_locais ou fornecedores_externos.
<SQL>
CREATE TABLE fornecedores_i(
id_for INTEGER PRIMARY KEY
[...]
);
CREATE TABLE fornecedores_e(
id_for INTEGER PRIMARY KEY
[...]
);
CREATE TABLE contrato(
id_for int4 NULL REFERENCES fornecedores_i
,id_for_e int4 NULL REFERENCES fornecedores_e (???)
[...]
);
</SQL>
* Logo, dentro do cenário exposto existiriam *sempre* atributos
contendo NULOS, uma vez que um contrato deve pertencer apenas a um
tipo de fornecedor.
* É possível omitir um dos atributos dentro deste modelo utópico ?
PS> Ok, aceito que as relações fornecedores não estão normalizadas de
acordo, porém isto é legado e continuará assim por enquanto.
Antecipadamente agradeço a atenção e colaboração.
-Leo
--
Leonardo Cezar, <lhcezar em hostsystems.com.br>
www.hostsystems.com.br
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios