В настоящее время я разрабатываю базу данных через MS Access 2003 и застрял в проблеме циклической ссылки. По сути, все сводится к следующему треугольнику отношений (это упрощенная форма моей таблицы отношений):
Positions
oo oo
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
oo oo
Employees oo -------------------- oo Software,
где Должности, Сотрудники и Программное обеспечение — это таблицы, а "oo-------...-------oo" отображает отношения «многие ко многим» между ними.
Короче говоря, все сотрудники в компании назначаются на определенные должности (некоторые из них назначаются более чем на одну) и имеют разрешения на использование определенных частей программного обеспечения в зависимости от их должности. Однако есть исключения, и некоторым сотрудникам разрешено использовать несколько других пакетов программного обеспечения в дополнение к тому, что им разрешено в соответствии с их должностью (должностями).
Вопрос в том, можно ли разрешить циклическую связь в базе данных такого типа? Существуют ли обходные пути, не требующие денормализации?
Заранее спасибо, ВС.