【說(shuō)明】
某超市的銷(xiāo)售業(yè)務(wù)由一個(gè)銷(xiāo)售業(yè)務(wù)管理系統(tǒng)進(jìn)行管理,該系統(tǒng)每完成一次交易都需要提供顧客發(fā)票,其格式見(jiàn)表6所示。
對(duì)于這樣一個(gè)銷(xiāo)售業(yè)務(wù)管理系統(tǒng),分別給出了以下兩種關(guān)系數(shù)據(jù)庫(kù)的設(shè)計(jì)(下劃線表示主關(guān)鍵字)
設(shè)計(jì)一:
顧客Customer(顧客代碼Cno,姓名name,住址address,聯(lián)系電話phone)
收銀員Salesman(收銀員代碼Sno,身份證號(hào)idno,姓名name,住址address,聯(lián)系電話phone)
商品Merchandise(商品代碼Mno,商品名稱(chēng)Mname,價(jià)格price)
發(fā)票Invoice(發(fā)票號(hào)碼Ino,交易日期Idate,顧客代碼Cno,收銀員代碼Sno,商品代碼Mno,單價(jià)unitprice,數(shù)量amount)
設(shè)計(jì)二:
顧客Customer(顧客代碼Cno,姓名name,住址address,聯(lián)系電話phone)
收銀員Salesman(收銀員代碼Sno,身份證號(hào)idno,姓名name,住址address,聯(lián)系電話phone)
商品Merchandise(商品代碼Mno,商品名稱(chēng)Mname,價(jià)格price)
發(fā)票Ivoice(發(fā)票號(hào)碼Ino,交易日期Idate,顧客代碼Cno,收銀員代碼Sno)
發(fā)票明細(xì)Invoicedetail(發(fā)票號(hào)碼Ino,商品代碼Mno,單價(jià)unitprice,數(shù)量amount)
【問(wèn)題1】
設(shè)計(jì)一的關(guān)系模式Invoice最高滿(mǎn)足第幾范式?為什么?設(shè)計(jì)一和設(shè)計(jì)二哪個(gè)更加合理?為什么?
【問(wèn)題2】
根據(jù)設(shè)計(jì)二中關(guān)系模式,以下SQL語(yǔ)句是用于"建立2005年1月期間每張發(fā)票的發(fā)票號(hào),交易日期,交易商品件數(shù)和交易總金額的視圖"的不完整語(yǔ)句,請(qǐng)?zhí)钛a(bǔ)其中的空缺。
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) ;
希望與其他軟考考生進(jìn)行交流?點(diǎn)擊進(jìn)入軟考論壇>>>
更多信息請(qǐng)?jiān)L問(wèn):考試吧軟件水平考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |