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

Responder a