У меня есть следующая проблема, которую мне нужно выразить.
Есть люди, рабочие места и сайты. Каждому человеку может быть назначено несколько рабочих мест. Каждое рабочее место может иметь несколько человек. Каждое рабочее место имеет ровно один сайт. Все идет нормально. Но моя проблема в том, что у каждого человека есть только одно рабочее место на конкретном сайте.
Как я могу выразить это в ERM?
Моя идея пока:
Я просто не могу выразить, что «у одного человека есть только одно рабочее место на конкретном сайте» - проблема с этим подходом.
Реализация решения:
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
Я думаю, что это должно решить проблему.
Теперь, как я могу выразить это в ERM?
Edit:
Я думал, что это решит проблему, но это не так. При этом я не могу назначить одно рабочее место двум разным людям, потому что в столбце Prs_Site_PlcID есть уникальный индекс. Вернуться к началу ...