Em 2 de setembro de 2014 00:05, Anselmo Mota Silva
<[email protected]> escreveu:
>
> Em 01/09/2014 10:48, "Marco Aurelio" <[email protected]> escreveu:
>
> (corte)
>> 2 - Outra dúvida, considerando que tenho uma tabela onde a chave natural é
>> composta, ex Notas, chave=PESSOA+NUMERO+SERIE+MODELO, o ideal para o
>> relacionamento com as tabelas filhas (itensmovimento, duplicatas) seria
>> criar um serial (notas_id) ou gravar a chave composta em cada tabela filha ?
>>
> Há quem atire pedras em chaves artificiais, mas, eu uso... No seu caso a
> chave composta, se for a que estás citando podes ter problemas, por exemplo
> com nota fiscal complementar... Ou não.

No histórico da lista há discussões muito bem fundamentadas para a
questão do uso ou não de chaves artificiais. Como hoje a maioria dos
frameworks de desenvolvimento as utilizam - ou funcionam melhor com
elas - também não descarto seu uso. Particularmente utilizo duas
premissas a seu respeito:

1) Se os atributos chave são imutáveis (nunca, jamais serão alterados)
utilizo chave composta natural;

2) Se o(s) atributo(s) chave podem sofrer alterações, utilizo chave
única artificial, mas crio um índice único para evitar duplicações (um
exemplo disso é uma entidade onde só há um campo de descrição que pode
ser alterado);


TIAGO J. ADAMI
http://www.adamiworks.com
@tiadami
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a