Adicione um campo de ID a você
Job Titles
table - vamos chamá-la de JobTitleID
Agora suas
Assignments
tabela tem Employee ID
e JobTitleID
. Obviamente, isso significa que, para encontrar os Projetos de um funcionário, você precisa ingressar por meio das
Assignments
tabela e os Job Titles
tabela EDITAR
Após discussão nos comentários, por favor desconsidere o acima, deixei apenas como história.
Agora aqui está a nova versão:Suas
Assignments
necessidades da mesa (como você já considerou) - ID do funcionário
- ID do projeto
- ID do título
- ID da atribuição
Mas também precisa de um
UNIQUE INDEX(EmployeeID, ProjectID)
- isso impossibilitará que um funcionário esteja no mesmo projeto sob diferentes títulos. Vários funcionários com o mesmo cargo ainda serão permitidos, bem como vários cargos em diferentes projetos para um funcionário.