Вы можете изменить таблицу планов, чтобы у нее не было MachineType, и добавьте новую таблицу под названием machinePlan, которая имеет строку для каждой машины, которая может использовать этот план, с MachineId и PlanId. Затем выведите MachineType для плана из таблицы родительской таблицы новой таблицы, а не из самой таблицы плана.
Последнее, изменить таблицу расписания, так что это FK возвращается к этой новой MachinePlan таблицы, вместо того, как вы в настоящее время это
MACHINE_TYPE { machine_type }
MACHINE { machine, machine_type }
SORT_PLAN { sort_plan}
MACHINE_SORTPLAN {machine, sort_plan }
SCHEDULE { day_of_week, machine_Sortplan }
Это также дополнительное преимущество в том, что вы НЕ irevocably вводить правила для плана, к которому применяется тип машины. Вы сохраняете эту связь отдельно и можете при необходимости решить использовать один и тот же набор правил (тот же план для машин более чем одного типа машин ...
Это была моя первая мысль, но мне кажется, – Dave 2008-12-11 14:17:18
Просто убедитесь, что триггер может обрабатывать несколько вводов записей. – HLGEM 2008-12-11 14:29:06