2016年計算機軟件設計師模擬試題3

字號:


    ●試題三
    閱讀下列說明,回答問題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也表示商品價格。兩個是否有必要同時存在?為什么?