第 1 頁(yè):?jiǎn)芜x題 |
第 2 頁(yè):應(yīng)用題 |
第 3 頁(yè):設(shè)計(jì)與應(yīng)用題 |
三、設(shè)計(jì)與應(yīng)用題(共30分)
36[簡(jiǎn)答題]
設(shè)有商品表(商品號(hào),商品名,單價(jià))和銷(xiāo)售表(銷(xiāo)售單據(jù)號(hào),商品號(hào),銷(xiāo)售時(shí)間,銷(xiāo)售數(shù)量,銷(xiāo)售單價(jià))。其中,商品號(hào)代表一類(lèi)商品,商品號(hào)、單價(jià)、銷(xiāo)售數(shù)量和銷(xiāo)售單價(jià)均為整型。
請(qǐng)編寫(xiě)查詢某年某商品的銷(xiāo)售總毛利的存儲(chǔ)過(guò)程,毛利=銷(xiāo)售數(shù)量×(銷(xiāo)售單價(jià)-單價(jià))。
要求商品號(hào)和年份為輸入?yún)?shù),總毛利用輸出參數(shù)返回。
參考解析:【解題思路】 存儲(chǔ)過(guò)程是由PL/SQL語(yǔ)句書(shū)寫(xiě)的過(guò)程,這個(gè)過(guò)程經(jīng)編譯和優(yōu)化后存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器中,使用時(shí)只要調(diào)用即可。使用存儲(chǔ)過(guò)程具有以下優(yōu)點(diǎn):其已經(jīng)編譯和優(yōu)化過(guò)了,所以運(yùn)行效率高,提供了在服務(wù)器端快速執(zhí)行SQL語(yǔ)句的有效途徑;存儲(chǔ)過(guò)程降低了客戶端和服務(wù)器之間的通信量;方便實(shí)施企業(yè)規(guī)則,當(dāng)企業(yè)規(guī)則發(fā)生變化時(shí)只要修改存儲(chǔ)過(guò)程,而無(wú)需修改其他應(yīng)用程序。
如上所示,存儲(chǔ)過(guò)程包括過(guò)程首部和過(guò)程體。過(guò)程名是數(shù)據(jù)庫(kù)服務(wù)器合法的對(duì)象標(biāo)識(shí);參數(shù)列表:用名字來(lái)標(biāo)識(shí)調(diào)用時(shí)給出的參數(shù)值,必須指定值的數(shù)據(jù)類(lèi)型。參數(shù)可以是輸入?yún)?shù)或輸出參數(shù),默認(rèn)為輸入?yún)?shù)。
37[簡(jiǎn)答題]
設(shè)某全國(guó)性的運(yùn)輸企業(yè)建立了大型OLTP系統(tǒng),并在該系統(tǒng)之上建立了數(shù)據(jù)倉(cāng)庫(kù)。OLTP系統(tǒng)和數(shù)據(jù)倉(cāng)庫(kù)中有如下數(shù)據(jù)表:
運(yùn)輸明細(xì)表(運(yùn)輸單ID,發(fā)送站ID,終到站ID,貨物ID,貨物重量,運(yùn)輸價(jià)格,發(fā)貨日期)
匯總表1(發(fā)送站ID,終到站ID,貨物ID,發(fā)貨日期,總重,總運(yùn)價(jià))
匯總表2(發(fā)送站ID,終到地區(qū)ID,貨物ID,發(fā)貨日期,總重,總運(yùn)價(jià))
匯總表3(發(fā)送站ID,終到站ID,貨物ID,發(fā)貨月份,總重,總運(yùn)價(jià))
匯總表4(發(fā)送地區(qū)ID,終到地區(qū)ID,貨物類(lèi)別ID,發(fā)貨日期,總重,總運(yùn)價(jià))
該企業(yè)管理的貨運(yùn)站約有100個(gè),貨物約有500種共10類(lèi),各匯總表都建有主碼,且各表有合理的維護(hù)策略,在每次維護(hù)后數(shù)據(jù)能保持一致。設(shè)有視圖V,該視圖的訪問(wèn)頻率很高,其查詢結(jié)果模式為(發(fā)送地區(qū)ID,終到站ID,發(fā)貨月份,總重,總運(yùn)價(jià)),該視圖現(xiàn)以匯總表1為計(jì)算數(shù)據(jù)源。經(jīng)監(jiān)控發(fā)現(xiàn),匯總表1的被訪問(wèn)頻率過(guò)高,導(dǎo)致系統(tǒng)整體性能下降,而其它匯總表被訪問(wèn)頻率較低。在不增加匯總表和索引的情況下,請(qǐng)給出一個(gè)改善系統(tǒng)服務(wù)性能的優(yōu)化方案,并簡(jiǎn)要說(shuō)明理由。
參考解析:【解題思路】 視圖是一個(gè)虛擬表,其內(nèi)容由查詢定義。同真實(shí)的表一樣,視圖包含一系列帶有名稱的列和行數(shù)據(jù)。但是,視圖并不在數(shù)據(jù)庫(kù)中以存儲(chǔ)的數(shù)據(jù)值集形式存在。行和列數(shù)據(jù)來(lái)自由定義視圖的查詢所引用的表,并且在引用視圖時(shí)動(dòng)態(tài)生成。對(duì)其中所引用的基礎(chǔ)表來(lái)說(shuō),視圖的作用類(lèi)似于篩選。定義視圖的篩選可以來(lái)自當(dāng)前或其他數(shù)據(jù)庫(kù)的一個(gè)或多個(gè)表,或者其他視圖。
分布式查詢也可用于定義使用多個(gè)異類(lèi)源數(shù)據(jù)的視圖。
從用戶角度來(lái)看,一個(gè)視圖是從一個(gè)特定的角度來(lái)查看數(shù)據(jù)庫(kù)中的數(shù)據(jù)。從數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部來(lái)看,一個(gè)視圖是由SELECT語(yǔ)句組成的查詢定義的虛擬表。從數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部來(lái)看,視圖是由一張或多張表中的數(shù)據(jù)組成的,從數(shù)據(jù)庫(kù)系統(tǒng)外部來(lái)看,視圖就如同一張表一樣,對(duì)表能夠進(jìn)行的一般操作都可以應(yīng)用于視圖,如查詢,插入,修改,刪除操作等。
視圖一經(jīng)定義便存儲(chǔ)在數(shù)據(jù)庫(kù)中,與其相對(duì)應(yīng)的數(shù)據(jù)并沒(méi)有像表那樣又在數(shù)據(jù)庫(kù)中再存儲(chǔ)一份,通過(guò)視圖看到的數(shù)據(jù)只是存放在基本表中的數(shù)據(jù)。對(duì)視圖的操作與對(duì)表的操作一樣,可以對(duì)其進(jìn)行查詢、修改(有一定的限制)、刪除。
當(dāng)對(duì)通過(guò)視圖看到的數(shù)據(jù)進(jìn)行修改時(shí),相應(yīng)的基本表的數(shù)據(jù)也要發(fā)生變化,同時(shí),若基本表的數(shù)據(jù)發(fā)生變化,則這種變化也可以自動(dòng)地反映到視圖中。
【參考答案】
由于匯總表1和視圖的模式訪問(wèn)頻率都很高,而且視圖的數(shù)據(jù)源來(lái)自匯總表1,又因?yàn)槠渌麉R總表的訪問(wèn)率較低,所以只需要將視圖的數(shù)據(jù)源綁定為匯總表3,因?yàn)閰R總表3也可以滿足視圖的輸出模式。這樣不僅提升了匯總表3的數(shù)據(jù)訪問(wèn)率,而且降低了匯總表1的數(shù)據(jù)訪問(wèn)率,系統(tǒng)性能和服務(wù)性能得到很大的優(yōu)化。又因?yàn)樨浳锛s有500種,共10類(lèi),可以再建立一個(gè)視圖綁定數(shù)據(jù)源為匯總表4,這樣就可以充分利用匯總表4的數(shù)據(jù)信息,從而可以進(jìn)一步優(yōu)化系統(tǒng)性能。
38[簡(jiǎn)答題]
設(shè)某連鎖商店數(shù)據(jù)庫(kù)中有關(guān)系模式R:
R(商店編號(hào),商品編號(hào),庫(kù)存數(shù)量,部門(mén)編號(hào),負(fù)責(zé)人)
如果規(guī)定:每個(gè)商店的每種商品只在一個(gè)部門(mén)銷(xiāo)售,每個(gè)商店的每個(gè)部門(mén)只有一個(gè)負(fù)責(zé)人,每個(gè)商店的每種商品只有一個(gè)庫(kù)存數(shù)量。
(1)請(qǐng)根據(jù)上述規(guī)定,寫(xiě)出關(guān)系模式R的函數(shù)依賴集;
(2)請(qǐng)給出關(guān)系模式R的候選碼;
(3)請(qǐng)說(shuō)明關(guān)系模式R屬于第幾范式,并給出理由;
(4)請(qǐng)將R分解成滿足3NF的關(guān)系模式。
參考解析:(1)【解題思路】 函數(shù)依賴定義:設(shè)R(U)是屬性集U上的關(guān)系模式,X,Y是U的子集,若對(duì)于R(U)的任意一個(gè)可能的關(guān)系r,r中不可能存在兩個(gè)元組在X上的屬性值相等,在Y上的屬性值不等,則稱X函數(shù)確定Y或Y函數(shù)依賴X,記作X->Y。函數(shù)依賴是指關(guān)系R的一切關(guān)系均要滿足的約束條件。
【參考答案】
(商店編號(hào),商品編號(hào))->部門(mén)編號(hào),(商店編號(hào),部門(mén)編號(hào))->負(fù)責(zé)人,(商店編號(hào),商品編號(hào))->庫(kù)存量。
(2)【解題思路】
設(shè)K為R中的屬性或?qū)傩越M合,若u完全依賴于K,則K為R的候選碼。
【參考答案】
(商店編號(hào),商品編號(hào))
(3)【解題思路】
關(guān)系數(shù)據(jù)庫(kù)是要滿足一定要求的。滿足最低要求的叫第一范式,在第一范式中滿足進(jìn)一步要求的為第二范式,其余以此類(lèi)推。顯然該關(guān)系模式滿足第一范式,接下來(lái)檢查其是否滿足第二范式。在第二范式中,要求關(guān)系模式中不存在部分依賴,每一個(gè)非主屬性完全依賴于碼,而根據(jù)第一空可得如下依賴關(guān)系:(部門(mén)編號(hào),商店編號(hào))一>負(fù)責(zé)人,所以屬于第二范式。它的非主屬性(不包含在任何候選碼中的屬性)有3個(gè):部門(mén)編號(hào)、負(fù)責(zé)人和庫(kù)存量,并皆完全函數(shù)依賴于主碼。將(商店編號(hào)、商品編號(hào))記作X,(商店編號(hào)、部門(mén)編號(hào))記作Y,負(fù)責(zé)人記作Z,即x→Y,Y→Z。由此可以看出,存在傳遞依賴,故不屬于第三范式。
【參考答案】
第二范式
(4)【解題思路】
第三范式中要求每一個(gè)屬性既不部分依賴于碼也不傳遞依賴于碼。
【參考答案】
R1(商店編號(hào)、商品編號(hào)、部門(mén)編號(hào)、庫(kù)存量);R2(商店編號(hào)、部門(mén)編號(hào)、負(fù)責(zé)人)。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關(guān)推薦:
2017年全國(guó)計(jì)算機(jī)等級(jí)考試考前必做試題及答案匯總
計(jì)算機(jī)等級(jí)考試成績(jī)?cè)u(píng)定流程及標(biāo)準(zhǔn)|合格證書(shū)樣本及證書(shū)說(shuō)明
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |