Ajoutez un champ ID à votre Job Titles table - appelons-la JobTitleID
Maintenant vos Assignments la table a Employee ID et JobTitleID .
Cela signifie bien sûr que pour trouver les projets d'un employé, vous devez vous joindre via les Assignments tableau et les Job Titles tableau
MODIFIER
Après discussion dans les commentaires, veuillez ne pas tenir compte de ce qui précède, je l'ai laissé uniquement comme historique.
Voici maintenant la nouvelle version :Vos Assignments besoins de la table (comme vous l'avez déjà pensé)
- Identifiant d'employé
- ID du projet
- Identifiant du titre
- ID d'affectation
Mais il a aussi besoin d'un UNIQUE INDEX(EmployeeID, ProjectID) - cela rendra impossible pour un employé d'être dans le même projet sous différents titres.
Plusieurs employés sous le même titre seront toujours autorisés, ainsi que plusieurs titres dans différent projets pour un employé.