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é.