Мне интересно, есть ли у кого-нибудь идеи о том, как применить правило «4 франчайзи на магазин» в хранилище данных Jet / ACE. Конечно, A2010 добавляет новые макросы данных на уровне таблицы, которые могут функционировать подобно триггерам, позволяя вам определить макрос данных для таблицы соединения, который может обеспечить выполнение этого бизнес-правила.
Но до A2010 не было никакого способа сделать это на уровне движка - вы должны поместить часть этой логики в само приложение.
Я думаю, что один из способов сделать это - добавить третий столбец в таблицу соединений, который является номером франчайзи. Как часть PK, это будет необходимо, и если вы добавите в него правило проверки, например, «Между 1 и 4». Это не будет автоматически увеличиваться, поэтому вам придется обрабатывать это в коде, но это предотвратит добавление записи, которая не соответствует правилу.
Есть ли у кого-нибудь какие-либо предложения по поводу другого подхода к решению этой части проблемы? Я хотел бы услышать, есть ли какой-нибудь способ смоделировать это с таблицами, в которых отсутствуют триггеры и ограничения на уровне таблицы для нескольких записей. Однако для того, чтобы он был здесь жизнеспособным, он должен работать в Jet / ACE.