conceitualmente esta errado, chave primaria nao quer dizer que não seja
composta e sim que a partir de um conjunto ou não de atributos você possa
identificar um registro. Mas, as vezes é diíficil não conviver com o que você
disse, seja por motivos de performance.....
É a mesma questão de manter algumas vezes os dados desnormalizados.
----- Original Message -----
From: Fernando Brombatti
To: Comunidade PostgreSQL Brasileira
Sent: Wednesday, March 26, 2008 8:34 PM
Subject: Re: [pgbr-geral] CHAVE COMPOSTA
Eu, particularmente, acho que chave primária não pode, jamais, ser composta.
Chave primária é primária e basta!!!
Agora, se preciso que haja uma chave composta (e isso acontece com
freqüência) utilizo os UNIQUE.
Testando em uma aplicação não tão grande (tabela com aproximadamente 300.000
registros) com chave primária composta e não composta notei uma diferença de
performance quando usava as chaves estrangeiras, além do que o índice para os
relacionamentos é maior e etc e etc e etc. Assim, a validade da chave composta
(entenda-se aqui o UNIQUE) se reduz às inclusões e alterações, ou seja, o
índice maior é acessados menos vezes.
Pode não ter tanta lógica, mas teve diferença. Agora, cada um modela da forma
que preferir.
2008/3/25 Leandro DUTRA <[EMAIL PROTECTED]>:
2008/3/25, junior Prado <[EMAIL PROTECTED]>:
>
> Estou na duvida em usar chave composta ou não. Gostaria de saber qual o
> impacto em usar chave composta em desempenho, indice, etc. Se possível,
pros
> e contras...
Infelizmente não é tão simples.
Você *não pode deixar de usar chaves compostas*. Todas as chaves
candidatas devem ser declaradas, seja como chaves primárias ou
alternativas (UNIQUE). A questão é se a chave primária pode ser
composta ou não.
Eu sou partidário de que sim, a menos que haja muitas tabelas filhas
críticas para desempenho com quantidades enormes de tuplas.
Procure pelo artigo Primary Keyvil. Não concordo com todas as
exceções que ele coloca, mas é um começo.
Hora de blogar a respeito.
--
skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED]
+55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803
+55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED]
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
--
Fernando Brombatti
email-msn-gtalk-skype:
[EMAIL PROTECTED]
work: +55 54 3218-6060
mobile: +55 54 8112-7250
Visite www.datamais.com
------------------------------------------------------------------------------
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral