I have the following problem that I need to express.
There are persons, workplaces and sites. Each person can be assigned to multiple workplaces. Each workplace can have multiple persons. Each workplace has exactly one site. So far so good. But my problem is that each person has only one workplace at a specific site.
How can I express this in an ERM?
My idea so far:

I just can’t express the “one person has only one workplace at a specific site”-problem with this approach.
Implementation Solution:
Table Person with Prs_ID (PK)
Table Site with Site_ID (PK)
Table Workplace with Plc_ID (PK)
Table Person_Site with Prs_Site_PrsID (PK, FK), Prs_Site_SiteID (PK, FK), Prs_Site_PlcID (FK)
Unique Index on Prs_Site_PlcID
I think this should solve the problem.
Now how can I express this in an ERM?
Edit:
I thought it would solve the problem but it doesn’t. With this I can’t assign one workplace to two different persons, because there is a unique index on the Prs_Site_PlcID column. Back to the beginning…
Note unique index
Ak1(alternate key)(SiteID, WorkplaceID)onWorkplacewhich is propagated toPersonWorkplace.