閱讀下列說明,回答問題1至問題5,將解答填入答題紙的對應欄內。
【說明】
某工廠的倉庫管理數據庫的部分關系模式如下所示:
倉庫(倉庫號,面積,負責人,電話)
原材料(編號,名稱,數量,儲備量,倉庫號)
要求一種原材料只能存放在同一倉庫中?!皞}庫”和“原材料”的關系實例分別如表2-1和表2-2所示。
【問題1】根據上述說明,用SQL定義“原材料”和“倉庫”的關系模式如下,請在空缺處填入正確的內容。
CREATE TABLE 倉庫(倉庫號 CHAR(4),
面積 INT,
負責人 CHAR(8),
電話 CHAR(8),
_________(a)___________);//主鍵定義
CREATE TABLE 原材料(編號 CHAR(4)____(b)_____,//主鍵定義
名稱 CHAR(16),
數量 INT,
儲備量 INT,
倉庫號_________(c)_________,
__________(d)____________); //外鍵定義
【問題2】將下面的SQL語句補充完整,完成“查詢存放原材料數量最多的倉庫號”的功能。
SELECT 倉庫號
FROM_________(e)__________
______________(f)___________;
【問題3】將下面的SQL語句補充完整,完成“01號倉庫所存儲的原材料信息只能由管理員李勁松來維護,而采購員李強能夠查詢所有原材料的庫存信息”的功能。
CREATE VIEW raws_in_wh01 AS
SELECT ________(g)__________
FROM 原材料
WHERE 倉庫號 =“01”;
CRANT _____(h)_____ON______(i)_____TO李勁松;
CRANT _____( j)_____ON______(k)_____TO李強 ;
【問題4】倉庫管理數據庫的訂購計劃關系模式為:訂購計劃(原材料編號,訂購數量)。采用下面的觸發(fā)器程序可以實現“當倉庫中的任一原材料的數量小于其儲備量時,向訂購計劃表中插入該原材料的訂購記錄,其訂購數量為儲備量的三倍”的功能。請將該程序的空缺部分補充完整。(3分)
CREATE TRIGGER ins_order_trigger AFTER____(1)____ON原材料
REFERENCING NEW ROW AS nrow
FOR EACH ROW
WHEN nrow.數量 INSERT INTO 訂購計劃 VALUES
(______(m)____,______(n)_______);
【問題5】
如果一種原材料可以在多個倉庫中存放,則問題4中的觸發(fā)器程序存在什么問題,如何修改?