2008-12-11 148 views
2

鑑於模式:保持參照完整性

 
MACHINE_TYPE { machine_type } 
MACHINE { machine, machine_type } 
SORT_PLAN { sort_plan, machine_type } 
SCHEDULE { day_of_week, machine, sort_plan } 

和業務規則:

分類計劃可以被分配給任何 機相同的計算機類型的。

如何執行,在賽程安排,元組由sort_plan引用具有相同的計算機類型

如有必要,可以更改模式。

回答

1

你可以改變計劃表,所以它沒有MachineType,並添加一個名爲machinePlan新表中,對每一臺機器,可以使用計劃,與設備ID和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鍵入規則對於適用於哪種機器類型的計劃。你分別保持這種關聯,並且可以在必要時,決定使用同一套規則(同樣的計劃,爲一個機多型機...

2

我會調度表使用一個INSERT觸發器。

+0

這是我的第一個想法,但我覺得我失去了一些東西明顯。 – Dave 2008-12-11 14:17:18

+0

只需確保觸發器可以處理多個記錄插入。 – HLGEM 2008-12-11 14:29:06