Modelagem DER: Chave Artificial

Pessoal, estou fazendo modelagem de meu projeto final e a princípio tinha definido todas minhas tabelas com chave primária artificial. Exemplo, para uma tabela Pessoa, então PK= cdPessoa (autoincrement).

Mas estou precisando de uma boa justificativa para isto. A única coisa q me ocorreu é que eu gostaria de facilitar as consultas sem fazer vários JOINS, mas não serviu.
Ou seja, isto (só por exemplo)

ao invés de

where Pessoa.nrCPF = Filho.nrCPFPessoa AND Pessoa.nrRg = Filho.nrRgPessoa

Alguém tem conselho, sugestões, artigos sobre isto… ???