●試題三
閱讀下列說明,回答問題1~問題3,將解答填入答題紙的對應欄內(nèi)。
【說明】
某超市的銷售業(yè)務由一個銷售業(yè)務管理系統(tǒng)進行管理,該系統(tǒng)每完成一次交易都需要提供顧客發(fā)票,其格式見表6所示。
對于這樣一個銷售業(yè)務管理系統(tǒng),分別給出了以下兩種關系數(shù)據(jù)庫的設計(下劃線表示主關鍵字)
設計一:
顧客Customer(顧客代碼Cno,姓名name,住址address,聯(lián)系電話phone)
收銀員Salesman(收銀員代碼Sno,身份證號idno,姓名name,住址address,聯(lián)系電話phone)
商品Merchandise(商品代碼Mno,商品名稱Mname,價格price)
發(fā)票Invoice(發(fā)票號碼Ino,交易日期Idate,顧客代碼Cno,收銀員代碼Sno,商品代碼Mno,單價unitprice,數(shù)量amount)
設計二:
顧客Customer(顧客代碼Cno,姓名name,住址address,聯(lián)系電話phone)
收銀員Salesman(收銀員代碼Sno,身份證號idno,姓名name,住址address,聯(lián)系電話phone)
商品Merchandise(商品代碼Mno,商品名稱Mname,價格price)
發(fā)票Ivoice(發(fā)票號碼Ino,交易日期Idate,顧客代碼Cno,收銀員代碼Sno)
發(fā)票明細Invoicedetail(發(fā)票號碼Ino,商品代碼Mno,單價unitprice,數(shù)量amount)
【問題1】
設計一的關系模式Invoice滿足第幾范式?為什么?設計一和設計二哪個更加合理?為什么?
【問題2】
根據(jù)設計二中關系模式,以下SQL語句是用于"建立2005年1月期間每張發(fā)票的發(fā)票號,交易日期,交易商品件數(shù)和交易總金額的視圖"的不完整語句,請?zhí)钛a其中的空缺。
CREATE VIEW Invoice -total (1)
SELECT Invoice.Ino,Idate, (2) , (3)
FROM Invoice,Invoicedetail
WHERE (4) AND
Idate BETWEEN′2005-01-01′AND′2005-01-31′
GROUPBY (5) ;
【問題3】
根據(jù)設計二中關系模式,以下SQL語句是用于"查詢從未售出的商品信息"的不完整語句,請?zhí)钛a其中的空缺。
SELECT Mno,Mname,price
FROM Merchandise (1)
WHERE (2)
(SELECT (3)
FROM Invoicedetail
WHERE A.Mno=Invoicedetail.Mno);
【問題4】
設計二中關系Merchandise中由屬性price表示商品價格,關系Invoicedetail中的屬性unitprice也表示商品價格。兩個是否有必要同時存在?為什么?