以上是表关系,A_Product 是产品
A_Record 是工序
A_Step 是工步/* 例如 一个产品有分几道工序加工,工序又分几步做完,所以叫工步*/A_days 是每个员工每天所做相关产品 的产量\质量 现在我把这个表的关系弄成这样,但是在输入员工绩效的时候, 还可以输入不属于这个产品的工序和工步..怎么限制呢?也就是A_Days 表里的 product_id record_id step_id
A_Record 是工序
A_Step 是工步/* 例如 一个产品有分几道工序加工,工序又分几步做完,所以叫工步*/A_days 是每个员工每天所做相关产品 的产量\质量 现在我把这个表的关系弄成这样,但是在输入员工绩效的时候, 还可以输入不属于这个产品的工序和工步..怎么限制呢?也就是A_Days 表里的 product_id record_id step_id
(
product_id int REFERENCES product(product_id),
record_id int REFERENCES record(record_id),
step_id int REFERENCES step(step_id)
)
但是这三个字段product_id record_id step_id
例子 APPLE 粘接 点胶
输入 NOKIA 也可以输入 粘接 点胶
(Product_ID int pkey, Product_Name)A_Record -- 是工序
(Record_ID int pkey, Product_ID int fkey, Record_Name)A_Step -- 是工步
(Step_ID int pkey, Record_ID int fkey, Step_Name)A_Days(
ID int pkey
,Step_ID int fkey -- 仅保留这个外键
,otherAttrib)在应用中选产品、工序、工步
Time Space我也想到这点,如果输入资料的时候,就麻烦了.因为NOKIA apple 两个产品.会有同样的工序,工步这个怎么处理?
product:
1, 桌子
2, 椅子record:
1, 1 /*FKto桌子/, 安装
2, 1 /*FKto桌子/, 油漆
3, 1 /*FKto桌子/, 包装
4, 2 /*FKto椅子/, 安装
5, 2 /*FKto椅子/, 油漆
6, 2 /*FKto椅子/, 装箱step:
1, 2 /*FKtoRecord.2*/, 打磨
2, 2 /*FKtoRecord.2*/, 上油漆
3, 5 /*FKtoRecord.5*/, 打磨
4, 5 /*FKtoRecord.5*/, 上清漆
...
选择产品
1.APPLEA9
出现APPLEA9的工序
||||||||||
再选择
2.粘接
|||||||||||
出现粘接的工步
再选择
3.工步 然后输入生成量什么滴,这个用ASP实现.但是在表里一样没记录,这笔资料属于哪个产品.
按ID肯定不现实.
from A_Days d
join A_Step s on s.Step_ID = d.Step_ID
join A_Record r on r.Record_ID = s.Record_ID
join A_Product p on p.Product_ID=r.Product_ID
即可