閱讀下列說(shuō)明,回答問(wèn)題l和問(wèn)題2,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某企業(yè)信息系統(tǒng)的部分關(guān)系模式及屬性說(shuō)明如下:
(1)員工關(guān)系模式:?jiǎn)T工(員工編號(hào),姓名,部門(mén),工資,職務(wù),教育水平),其中員工編號(hào)是主鍵,部門(mén)是外鍵,參照部門(mén)關(guān)系模式的部門(mén)編號(hào)屬性。
(2)部門(mén)關(guān)系模式:部門(mén)(部門(mén)編號(hào),部門(mén)名稱(chēng),經(jīng)理),其中部門(mén)編號(hào)是主鍵,經(jīng)理是外鍵,參照員工關(guān)系模式的員工編號(hào)屬性。
(3)項(xiàng)目關(guān)系模式:項(xiàng)目(項(xiàng)目編號(hào),項(xiàng)目名稱(chēng),所屬部門(mén),負(fù)責(zé)人),其中項(xiàng)目編號(hào)是主鍵,所屬部門(mén)和負(fù)責(zé)人是外鍵,分別參照部門(mén)關(guān)系模式和員工關(guān)系模式的部門(mén)編號(hào)和員工編號(hào)屬性。
(4)員工項(xiàng)目關(guān)系模式:?jiǎn)T工項(xiàng)目(員工編號(hào),項(xiàng)目編號(hào)),其中員工編號(hào)和項(xiàng)目編號(hào)是主鍵,同時(shí)員工編號(hào)和項(xiàng)目編號(hào)也是外鍵,分別參照員工關(guān)系模式的員工編號(hào)和項(xiàng)目關(guān)系模式的項(xiàng)目編號(hào)。
【問(wèn)題1】
假設(shè)定義員工關(guān)系模式時(shí),沒(méi)有定義主鍵和外鍵。請(qǐng)用SQL語(yǔ)句補(bǔ)充定義員工關(guān)系模式的實(shí)體完整性約束和參照完整性約束。
(a) ;
(b) ;
【問(wèn)題2】
請(qǐng)將下列SQL查詢(xún)語(yǔ)句補(bǔ)充完整。
(1)查詢(xún)平均工資(不包含職務(wù)為經(jīng)理的員工)超過(guò)3000的部門(mén)的編號(hào),部門(mén)名稱(chēng)及其平均工資,并按平均工資從高到低排序。
SELECT部門(mén)編號(hào),部門(mén)名稱(chēng),(c) AS平均工資
FROM員工,部門(mén)
WHERE (d)
GROUP BY (e)
HAVING (f)
(g);
(2)查詢(xún)工資大于全體員工平均工資的員工編號(hào),姓名和工資。
SELECT員工編號(hào),姓名,工資
FROM員工
WHERE (h);
(3)查詢(xún)沒(méi)有承擔(dān)任何項(xiàng)目的部門(mén)編號(hào)和部門(mén)名稱(chēng)。
SELECT部門(mén)編號(hào),部門(mén)名稱(chēng)
FROM部門(mén)
WHERE (i) (SELECT.FROM項(xiàng)目WHERE (i) );
(4)查詢(xún)研發(fā)部所有員工的員工編號(hào)和教育水平,若教育水平大于20,則輸出研究生;若教育水平小于等于20,并大于16,則輸出本科生;否則輸出其他。
SELECT員工編號(hào),
CASE
WHEN教育水平>20 THEN‘研究生’
(k)
(l)
END
FROM員工,部門(mén)
WHERE (m) ;
(5)查詢(xún)部門(mén)名稱(chēng)不以“處”結(jié)尾的部門(mén)編號(hào)和部門(mén)名稱(chēng)。
SELECT部門(mén)編號(hào),部門(mén)名稱(chēng)
FROM部門(mén)
WHERE部門(mén)名稱(chēng) (n) ;
我的答案:
暫未測(cè)試過(guò)此題
看視頻 讀書(shū)
參考答案:
【問(wèn)題1】
(a) ALTER TABLE員工ADD CONSTRAINT PK員工PRIMARY KEY(員工編號(hào)) (其中PK_員工可以為任何有效的命名)
(b)ALTER TABLE員工ADD CONSTRAJNT FK員工FOREIGN KEY(部門(mén)) REFERENCES部門(mén)(部門(mén)編號(hào))(其中FK員工可以為任何有效的命名)
【問(wèn)題2】
(1)(c)AVG(工資)
(d)員工,部門(mén)=部門(mén).部門(mén)編號(hào)AND職務(wù)<>’經(jīng)理’
(e)部門(mén)編號(hào),部門(mén)名稱(chēng)
(f) AVG(工資)>3000
(g) ORDER BY3 DESC或ORDER BY平均工資DESC
(2)(h)工資> (SELECT AVG(工資)FROM員工)(2分)
(3)(i) NOTEXISTS
(j)部門(mén)編號(hào)=所屬部門(mén)
(4) (k) WHEN教育水平<=20 AND教育水平>16 THEN’本科生’
(l) ELSE’其他’
(m)員工.部門(mén)=部門(mén).部門(mén)編號(hào)AND部門(mén)名稱(chēng)=’研發(fā)部’
(5)(m)NOT LIKE ’%處’