Uma coluna como chave primária ou duas chaves estrangeiras como chave primária

Eu tenho o seguinte design de banco de dados:

AE-Report tem umQAP que tem algumRequirements. UMAQAP e os seusRequirements pode ser usado em mais de umE-Report.

CadaRequirement terá uma confirmação Sim / Não em cada E-Report. eu já adicioneiEReportReq para armazenar valores de confirmações de necessidades (os usuários definirão esses valores).

E também, cadaRequirement terá mais de umImage em cadaE-Report. EReportReqImg vai armazenarImage eRequirement relação.

Se você precisar de mais detalhes sobre este modelo de banco de dados, por favor me avise.

Minha pergunta é sobreEReportReq mesa. Não tenho certeza se preciso de uma coluna como chave primária (EReportReqId) ou eu posso usareReportId erequirementId como chave primária.

Se eu usar essas duas colunas,eReportId erequirementId como chave primária, precisarei adicionar esses doisEReportReqImg mesa, então eu não sei se essa abordagem é melhor que a minha.

O que você acha?