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