試題二(共15分)
閱讀下列說明,回答問題1和問題2,將解答填入答題紙的對應欄內。
【說明】
某企業信息系統的部分關系模式及屬性說明如下:
(1)員工關系模式:員工(員工編號,姓名,部門,工資,職務,教育水平),其中員工編號是主鍵,部門是外鍵,參照部門關系模式的部門編號屬性。
(2)部門關系模式:部門(部門編號,部門名稱,經理),其中部門編號是主鍵,經理是外鍵,參照員工關系模式的員工編號屬性。
(3)項目關系模式:項目(項目編號,項目名稱,所屬部門,負責人),其中項目編號是主鍵,所屬部門和負責人是外鍵,分別參照部門關系模式和員工關系模式的部門編號和員工編號屬性。
(4)員工項目關系模式:員工項目(員工編號,項目編號),其中員工編號和項目編號是主鍵,同時員工編號和項目編號也是外鍵,分別參照員工關系模式的員工編號和項目關系模式的項目編號。
【問題1】(2分)
假設定義員工關系模式時,沒有定義主鍵和外鍵。請用SQL語句補充定義員工關系模式的實體完整性約束和參照完整性約束。
(a) ;
(b) ;
【問題2】(13分)
請將下列SQL查詢語句補充完整。
(1)查詢平均工資(不包含職務為經理的員工)超過3000的部門的編號,部門名稱及其平均工資,并按平均工資從高到低排序。
SELECT部門編號,部門名稱,(c) AS平均工資
FROM員工,部門
WHERE (d)
GROUP BY (e)
HAVING (f)
(g);
(2)查詢工資大于全體員工平均工資的員工編號,姓名和工資。
SELECT員工編號,姓名,工資
FROM員工
WHERE (h);
(3)查詢沒有承擔任何項目的部門編號和部門名稱。
SELECT部門編號,部門名稱
FROM部門
WHERE (i) (SELECT.FROM項目WHERE (i) );
(4)查詢研發部所有員工的員工編號和教育水平,若教育水平大于20,則輸出研究生;若教育水平小于等于20,并大于16,則輸出本科生;否則輸出其他。
SELECT員工編號,
CASE
WHEN教育水平>20 THEN‘研究生’
(k)
(l)
END
FROM員工,部門
WHERE (m) ;
(5)查詢部門名稱不以“處”結尾的部門編號和部門名稱。
SELECT部門編號,部門名稱
FROM部門
WHERE部門名稱 (n) ;