问题 问答题

2.某工厂的仓库管理数据库中有两个关系模式:
仓库(仓库号,面积,负责人,电话)
原材料(编号,名称,数量,储备量,仓库号)
要求一种原材料只能存放在同一仓库中。

(4)如果一种原材料可以在多个仓库存放,则(3)中的触发器程序存在什么问题,如何修改

答案

参考答案:

解析:存在的问题是:触发器程序判定某一原材料“数量”是否小于其存储量时,是按照当前记录的“数量”来判定的,当一种原材料存储在多个仓库时,这样判定是错误的,应根据该原材料在各仓库的存储总量判定。 应将触发器程序的WHEN子句的条件修改为: WHEN nrow.储备量>(SELECT SUM(数量) FROM 原材料 WHERE 编号=(SELECT 编号 FROM nrow));

单项选择题
单项选择题