閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說明】
某健身俱樂部要開發(fā)一個(gè)信息管理系統(tǒng),該信息系統(tǒng)的部分關(guān)系模式如下:
員工(員工身份證號(hào),姓名,工種,電話,住址)
會(huì)員(會(huì)員手機(jī)號(hào),姓名,折扣)
項(xiàng)目(項(xiàng)目名稱,項(xiàng)目經(jīng)理,價(jià)格)
預(yù)約單(會(huì)員手機(jī)號(hào),預(yù)約日期,項(xiàng)目名稱,使用時(shí)長)(外鍵:會(huì)員手機(jī)號(hào))
消費(fèi)(流水號(hào),會(huì)員手機(jī)號(hào),項(xiàng)目名稱,消費(fèi)金額,消費(fèi)日期)(外鍵:會(huì)員手機(jī)號(hào),項(xiàng)目名稱)
有關(guān)關(guān)系模式的屬性及相關(guān)說明如下:
(1)俱樂部有多種健身項(xiàng)目,不同的項(xiàng)目每小時(shí)的價(jià)格不同。俱樂部實(shí)行會(huì)員制,且需要電話或在線提前預(yù)約。
(2)每個(gè)項(xiàng)目都有一個(gè)項(xiàng)目經(jīng)理,一個(gè)經(jīng)理只能負(fù)責(zé)一個(gè)項(xiàng)目。
(3)俱樂部對(duì)會(huì)員進(jìn)行積分,達(dá)到一定積分可以進(jìn)行升級(jí),不同的等級(jí)具有不同的折扣。
根據(jù)以上描述,回答下列問題:
【問題1】(4分)
請(qǐng)將下面創(chuàng)建消費(fèi)關(guān)系的SQL語句的空缺部分補(bǔ)充完整,要求指定關(guān)系的主碼、 外碼,以及消費(fèi)金額大于零的約束。
CREATE TABLE 消費(fèi)(
流水號(hào) CHAR(12) (a) ,
會(huì)員手機(jī)號(hào)CHAR(11),
項(xiàng)目名稱CHAR (8),
消費(fèi)金額NUMBER (b) ,
消費(fèi)日期DATE,
(c) ,
(d) ,
);
【問題2】(6分)
(1)手機(jī)號(hào)為18812345678的客戶預(yù)約了 2014年3月18日兩個(gè)小時(shí)的羽毛球場(chǎng)地,消費(fèi)流水號(hào)由系統(tǒng)自動(dòng)生成。請(qǐng)將下面SQL語句的空缺部分補(bǔ)充完整。
INSERT INTO 消費(fèi)(流水號(hào),會(huì)員手機(jī)號(hào),項(xiàng)目名稱,消費(fèi)金額,消費(fèi)日期)
SELECT '201403180001','18812345678','羽毛球', (e) ,'2014/3/18'
FROM會(huì)員, 項(xiàng)目, 預(yù)約單
WHERE預(yù)約單.項(xiàng)目名稱=項(xiàng)目.項(xiàng)目名稱AND (f)
AND項(xiàng)目.項(xiàng)目名稱='羽毛球'
AND會(huì)員.會(huì)員手機(jī)號(hào)='18812345678';
(2)需要用觸發(fā)器來實(shí)現(xiàn)會(huì)員等級(jí)折扣的自動(dòng)維護(hù),函數(shù)float vip_value(char(11) 會(huì)員手機(jī)號(hào))依據(jù)輸入的手機(jī)號(hào)計(jì)算會(huì)員的折扣。請(qǐng)將下面SQL語句的空缺部分補(bǔ)充完整。
CREATE TRIGGER VIP_TRG AFTER (g) ON (h)
REFERENCING new row AS nrow
FOR EACH ROW
BEGIN
UPDATE 會(huì)員
SET (i)
WHERE (j) ;
END
【問題3】(5分)
請(qǐng)將下面SQL語句的空缺部分補(bǔ)充完整。
(1)俱樂部年底對(duì)各種項(xiàng)目進(jìn)行績效考核,需要統(tǒng)計(jì)出所負(fù)責(zé)項(xiàng)目的消費(fèi)總金額 大于等于十萬元的項(xiàng)目和項(xiàng)目經(jīng)理,并按消費(fèi)金額總和降序輸出。
SELECT項(xiàng)目.項(xiàng)目名稱,項(xiàng)目經(jīng)理,SUM(消費(fèi)金額)
FROM項(xiàng)目,消費(fèi)
WHERE (k)
GROUP BY (l)
ORDER BY (m) ;
(2)查詢所有手機(jī)號(hào)碼以“888”結(jié)尾,姓“王”的員工姓名和電話。
SELECT姓名,電話
FROM 員工
WHERE 姓名 (n) AND 電話 (o)