> Nesse caso, fica mais interessante ainda que a chave natural seja a > primária, evita muitas junções provavelmente. Certo.
Agora, vamos supor que tivessemos uma outra tabela, "camisas", por exemplo, que faz relacionamento com a tabela "cores" do exemplo anterior. Ao inserir um novo registro na tabela "camisas" o Postgres precisa fazer a verificação de chave estrangeira, na tabela "cores". Por ser uma chave estrangeira VACHAR(30) ou CHAR(30), por exemplo, é mais caro, para o Postgres que se fossê uma chave do tipo inteira? Ou, caso você precise fazer junções com chaves estrangeiras do tipo CHAR, ou DATE, etc. Será que a performance cairia, pelo fato de o tipo não ser INT ? Uma junção entre chaves simples é muito mais rápido que uma entre chave composta ? Ou nestes casos o que manda mesmo é sempre o bom-senso? "Vou utilizar uma chave artificial pois o tipo INT é mais rápido neste caso...". Na realidade eu farei uns testes, para responder as minhas próprias questões. A vantagem de não fazer junções desnecessárias, e manter a modelagem "limpa", é tentadora. Caso estas questões de tipo sejam apenas "lendas urbanas" não vejo motivo algum para chaves artificiais. Estou errado ? Acho que ainda há tempo de pegar o caminho certo... _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
