2

与えられたスキーマ:

MACHINE_TYPE { マシンの種類 }
MACHINE { machine, machine_type }
SORT_PLAN { sort_plan, machine_type }
SCHEDULE { day_of_week, machine, sort_plan }

およびビジネス ルール:

ソート計画は、同じ machine_type の任意のマシンに割り当てることができます。

SCHEDULE で、 machinesort_planによって参照されるタプルが同じmachine_typeを持つように強制するにはどうすればよいですか?

スキーマは、必要に応じて変更できます。

4

2 に答える 2

2

SCHEDULE テーブルで挿入トリガーを使用します。

于 2008-12-11T14:14:45.330 に答える
1

MachineType を持たないようにプラン テーブルを変更し、そのプランを使用できるすべてのマシンの行を MachineId と PlanId と共に持つ、machinePlan という新しいテーブルを追加することができます。次に、プラン テーブル自体からではなく、この新しいテーブルの親マシン テーブルからプランの 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 }

これには、適用するマシン タイプのプランのルールを取り消し不能に入力する必要がないという利点もあります。この関連付けを個別に保持し、必要に応じて、同じルール セット (複数のマシン タイプのマシンに対して同じプラン) を使用することを決定できます...

于 2008-12-11T14:25:01.267 に答える