閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題5。將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某企業(yè)網(wǎng)上銷(xiāo)售管理系統(tǒng)的數(shù)據(jù)庫(kù)部分關(guān)系模式如下所示:
客戶〔客戶號(hào),姓名,性別,地址,郵編)
產(chǎn)品(產(chǎn)品號(hào),名稱,庫(kù)存,單價(jià))
訂單(訂單號(hào),時(shí)間,金額,客戶號(hào))
訂單明細(xì)(訂單號(hào),產(chǎn)品號(hào),數(shù)量)
關(guān)系模式的主要屬性及約束如表2-1所示。
客戶、產(chǎn)品、訂單和訂單明細(xì)關(guān)系及部分?jǐn)?shù)據(jù)分別如表2-2、2-3、2-4、2-5所示。
【問(wèn)題1】以下是創(chuàng)建部分關(guān)系表的SQL語(yǔ)句,請(qǐng)將空缺部分補(bǔ)充完整。
CREATE TABLE客戶(
客戶號(hào)CHAR(5) (a)
姓名CHAR(30),
性別CHAR(2) (b)
地址CHAR(30),
郵編CHAR(6));
CREATE TABLE訂單(
訂單號(hào)CHAR(4),
時(shí)間CHAR(10),
金額NUMBER(6,2),
客戶號(hào)CHAR(5)NOTNULL,
PRIMARYKEY(訂單號(hào)),
(c) );
【問(wèn)題2】請(qǐng)根據(jù)如下查詢語(yǔ)句,回答問(wèn)題(d),(e)和(f)
SELECT 客戶號(hào)
FROM 訂單,訂單明細(xì)
WHERE訂單明細(xì).訂單號(hào)=訂單.訂單號(hào)AND
產(chǎn)品號(hào)=’02’ AND
數(shù)量>10;
(d)上述查詢語(yǔ)句的功能是什么?請(qǐng)簡(jiǎn)要回答。(30個(gè)字以內(nèi))
(e)將上述查詢語(yǔ)句轉(zhuǎn)換成對(duì)應(yīng)的關(guān)系代數(shù)表達(dá)式。
【問(wèn)題3】按題意將下述SQL查詢語(yǔ)句的空缺部分補(bǔ)充完整。
按客戶購(gòu)買(mǎi)總額的降序,輸出每個(gè)客戶的客戶名和購(gòu)買(mǎi)總額。
SELECT 客戶.客戶名, (g)
FROM 客戶,訂單
WHERE 客戶.客戶號(hào)=訂單.客戶號(hào)
(h)
(i) ;
【問(wèn)題4】用SQL語(yǔ)句完成下述要求.
(1)定義一個(gè)描述訂單的客戶號(hào)和對(duì)應(yīng)訂單明細(xì)中產(chǎn)品號(hào)關(guān)系的視圖:客戶產(chǎn)品(客戶號(hào),產(chǎn)品號(hào))。
(2)借助(1)所定義的視圖,查詢至少購(gòu)買(mǎi)了01號(hào)客戶購(gòu)買(mǎi)的所有產(chǎn)品的客戶號(hào)。
SELECT客戶號(hào)
FROM客戶產(chǎn)品 客戶產(chǎn)品1
WHERE (j)
(SELECT *
FROM客戶產(chǎn)品 客戶產(chǎn)品2
WHERE (k)
(SELECT *
FROM客戶產(chǎn)品 客戶產(chǎn)品3
WHERE (1) ));
【問(wèn)題5】當(dāng)一個(gè)訂單和對(duì)應(yīng)的訂單明細(xì)數(shù)據(jù)入庫(kù)時(shí),應(yīng)該減少產(chǎn)品關(guān)系中相應(yīng)的產(chǎn)品庫(kù)存,為此應(yīng)該利用數(shù)據(jù)庫(kù)管理系統(tǒng)的什么機(jī)制實(shí)現(xiàn)功能?請(qǐng)用100字以內(nèi)的文字簡(jiǎn)要說(shuō)明。