Olá,

Meu voto convicto é por chaves "burras" como chaves primárias e chaves 
naturais como alternate key (constraint UNIQUE).
Chaves primárias burras ocupam pouco espaço na tabela principal e nas 
tabelas filhas. Ter um único campo nos JOINs é excelente, praticamente 
imprescindível quando você começa a fazer consultas sobre 10 ou mais 
tabelas.
A integridade conceitual é mantida pelas chaves alternativas.
Já quanto a índices, fui por muito tempo muquirana em criá-los e só me 
arrependi. Hoje crio pelo menos dois por chave estrangeira (um com PK+FK e 
outro só com os campos da FK), para todas, sem pena, além dos que tiverem 
chance de se sair melhor em consultas críticas.
Se fizer muitas consultas onde for necessário apresentar os valores das 
chaves naturais, tenta criar mais um índice com a PK + AK e era isso.

Atenciosamente,

Mozart Hasse

----- Original Message ----- 
From: <[EMAIL PROTECTED]>
To: <[email protected]>

Vc tem razão, é gosto de detalhes. Mas dando enfâse ao foco principal, chave
"burra" ou chave natural?

Avaliando a grosso modo, a chave natural irá alocar mais espaço em disco,
mas garante a integridade. A chave burra aloca menos espaço, mas precisaria
de indices a mais para garantir a integridade . . .


_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a