Объединенная таблица (в MySQL Workbench автоматически называется "developer_has_project") должна использовать объединенный первичный ключ (разработчик, проект).Если вы добавите третий столбец к этому ключу (ID), он больше не должен быть уникальным:
(id,developer,project)
(1,1,1)
(2,1,1)
(3,1,1)
Используя только разработчика и проект, он будет работать:
(developer,project)
(1,1)
(1,1) <-- error!
(2,1)
В качестве альтернативыВы можете использовать идентификатор в качестве единственного первичного ключа и добавить УНИКАЛЬНОЕ ограничение (разработчик, проект):
(id,developer,project)
(1,1,1)
(2,1,1) <-- error
(3,2,1)