第 1 頁:單選題 |
第 4 頁:應(yīng)用題 |
第 6 頁:設(shè)計與應(yīng)用題 |
三、設(shè)計與應(yīng)用題
46某網(wǎng)上商城因為業(yè)務(wù)發(fā)展,原有的系統(tǒng)不能很好的滿足需要,因此采用了一套新的經(jīng)營管理系統(tǒng),此系統(tǒng)使用SQL Server 2008數(shù)據(jù)庫管理系統(tǒng)。此系統(tǒng)上線運行前,需將商場原有的數(shù)據(jù)導(dǎo)入到新系統(tǒng)中。原有系統(tǒng)使用SQL Server 2000,數(shù)據(jù)結(jié)構(gòu)與新系統(tǒng)不完全一致。因此需要把數(shù)據(jù)從SQL Server 2000導(dǎo)入到SQL Server 2008中,為了保證數(shù)據(jù)一致性,數(shù)據(jù)導(dǎo)入過程中要求暫停業(yè)務(wù)且必須在3小時內(nèi)完成。
(1)在原有數(shù)據(jù)導(dǎo)入新系統(tǒng)的過程中,實施人員發(fā)現(xiàn)原有數(shù)據(jù)量很大,導(dǎo)人數(shù)據(jù)需要四小時,業(yè)務(wù)無法接受。經(jīng)分析某工程師認為,數(shù)據(jù)導(dǎo)入過程中的數(shù)據(jù)庫I/O很高,但導(dǎo)人數(shù)據(jù)的程序本身對系統(tǒng)資源占用率很低。該工程師建議將數(shù)據(jù)導(dǎo)入過程中的數(shù)據(jù)恢復(fù)模式從“完整”模式改為“簡單”模式以提高數(shù)據(jù)導(dǎo)人速度;而另一位工程師則認為此方法未必能提高數(shù)據(jù)導(dǎo)入速度,而且還可能導(dǎo)致數(shù)據(jù)丟失,不建議使用此方法。
請分析此方法是否能夠提高數(shù)據(jù)導(dǎo)入速度并給出理由,同時分析此操作的數(shù)據(jù)丟失風(fēng)險。
(2)在成功導(dǎo)入歷史數(shù)據(jù)后,此系統(tǒng)順利上線運行。在上線運行的第一周,發(fā)現(xiàn)數(shù)據(jù)庫服務(wù)器的CPU使用率很高,達到近90%,高峰期間達到100%,且系統(tǒng)內(nèi)存占用率達到90%,但系統(tǒng)I/O很輕。業(yè)務(wù)人員反應(yīng)系統(tǒng)操作速度很慢。為了提高系統(tǒng)運行速度。在不修改應(yīng)用程序的前提下,兩位工程師提出了不同的解決辦法:
Ⅰ.為服務(wù)器增加2顆CPU,緩解CPU使用率很高的問題;
、.為服務(wù)器增加一倍內(nèi)存,緩解內(nèi)存使用率很高的問題。
考慮成本,現(xiàn)階段只能按照一種方案實施。請指出在現(xiàn)有情況下,哪種方案更合理并給出理由。
參考解析:
【解題思路】
(1)SQL Server 2008的數(shù)據(jù)恢復(fù)模式有三種:
、俸唵位謴(fù)模式,此方法可以最大幅度減少事務(wù)13志的管理開銷,因為恢復(fù)模式不備份事務(wù)日志。但是如果數(shù)據(jù)庫損壞,則簡單恢復(fù)模式將面臨極大的數(shù)據(jù)丟失風(fēng)險。在這種恢復(fù)模式下,數(shù)據(jù)只能恢復(fù)到最新備份狀態(tài)。因此對于用戶數(shù)據(jù)庫,簡單恢復(fù)模式只適用于測試和開發(fā)數(shù)據(jù)庫,或用于主要包含只讀數(shù)據(jù)的數(shù)據(jù)庫。
、谕暾謴(fù)模式,此方法可以完整的記錄所有事務(wù),并將事務(wù)日志記錄保留到對其備份完畢為止。此方法相對簡單恢復(fù)模式來說,更占用時間。
③大容量日志恢復(fù)模式,此方法只對大容量操作進行最小記錄,使事務(wù)日志不會被大容量加載操作所填充。
在數(shù)據(jù)導(dǎo)入過程中,所有的業(yè)務(wù)都是暫停的,因此可以采用簡單恢復(fù)模式提高數(shù)據(jù)導(dǎo)入速度。且只在數(shù)據(jù)導(dǎo)入的過程中暫時的修改恢復(fù)模式,因此數(shù)據(jù)并不會丟失。
(2)提高數(shù)據(jù)庫性能的方法一般是從外部環(huán)境、調(diào)整內(nèi)存分配、調(diào)整磁盤I/0、調(diào)整競爭資源等幾方面著手來改變數(shù)據(jù)庫的參數(shù)。SQL Server 2008采用將數(shù)據(jù)緩沖在內(nèi)存的方式,因此在數(shù)據(jù)庫系統(tǒng)運行的過程中會占用一定的內(nèi)存,又因為I/O并不存在問題,說明內(nèi)存尚滿足需求。CPU使用率很高,表明CPU的計算能力不足,應(yīng)該增加CPU的數(shù)量。
【參考答案】
(1)此方法能夠提高數(shù)據(jù)導(dǎo)入速度。原因:此系統(tǒng)I/O很高,修改恢復(fù)模式后,系統(tǒng)最大限度減少日志開銷,可提高導(dǎo)入速度。由于僅在數(shù)據(jù)導(dǎo)入過程中修改恢復(fù)模式,所以并無數(shù)據(jù)丟失風(fēng)險。
(2)第一種方案比較合理。原因:SQL Server 2008采用將數(shù)據(jù)緩沖在內(nèi)存的方式,因此內(nèi)存的使用率比較高是正常情況,且現(xiàn)階段I/O并不存在問題,表明內(nèi)存滿足需求。此階段CPU使用率很高,表明CPU計算資源不足,因此增加CPU數(shù)量對解決問題有效。
47設(shè)有某商業(yè)單位需要建立商務(wù)數(shù)據(jù)庫用以處理銷售記賬,它記錄的數(shù)據(jù)包括:顧客姓名,所在單位及電話號碼;商品名稱,型號,產(chǎn)地及單價;某顧客購買某商品的數(shù)量及日期。假定無同名顧客,無同型號商品,由話公用靦客可存不同日期買同一商品。
(1)請畫出該單位的商務(wù)ER圖模型并優(yōu)化。
(2)將ER模型換成關(guān)系模型并規(guī)范化到3NF。
參考解析:
【解題思路】
(1)ER圖的畫法
建立相應(yīng)的ER圖的過程如下:
第一,確定實體類型。本題有兩個實體類型,即顧客實體和商品實體。
第二,確定聯(lián)系類型。該題中只有顧客一商品模型。
第三,把實體類型和聯(lián)系類型組合成ER圖。
第四,確定實體類型和聯(lián)系類型的屬性。
顧客實體集屬性:姓名、單位、電話號碼
商品實體集屬性:型號、名稱、產(chǎn)地、單價由顧客和商品兩個實體和一個顧客一商品購買關(guān)系,并且根據(jù)實體的屬性可以畫出相應(yīng)ER圖。
(2)ER模型轉(zhuǎn)換為關(guān)系模式的規(guī)則
、侔袳R模型中的每一個實體集轉(zhuǎn)換為同名的關(guān)系,實體集的屬性就是關(guān)系的屬性,實體集的碼就是關(guān)系的碼。
、诎袳R模型中的每一個聯(lián)系轉(zhuǎn)換成一個關(guān)系,與該聯(lián)系相連的各實體集的碼以及聯(lián)系的屬性轉(zhuǎn)換為關(guān)系的屬性。關(guān)系的碼根據(jù)下列情況確定:
若聯(lián)系為1:1,則每個是實體集碼均是該關(guān)系的候選碼。
若聯(lián)系為1:n,則關(guān)系的碼為n端實體集的碼。
若聯(lián)系為m:n,則關(guān)系的碼為各實體集碼的組合。
、酆喜⒕哂邢嗤a的關(guān)系。
根據(jù)規(guī)則,把一個ER模型轉(zhuǎn)換為關(guān)系模式,一般經(jīng)歷下面兩個步驟:
1)標(biāo)識ER模型中的聯(lián)系。
2)依次轉(zhuǎn)換與每個聯(lián)系相關(guān)聯(lián)的實體集及聯(lián)系。
本題中從ER模型轉(zhuǎn)換成關(guān)系模型,由兩個實體和一個關(guān)系分別可以轉(zhuǎn)換成三個關(guān)系模式。
【參考答案】
(1)ER模型如下所示:
(2)將ER模型轉(zhuǎn)換為關(guān)系模型,并規(guī)范到3NF:
顧客(姓名,單位,電話號碼),主鍵:姓名
商品(型號,名稱,單價,產(chǎn)地),主鍵:型號
購買(姓名,型號,數(shù)量,日期),主鍵:姓名+型號
相關(guān)推薦:
2015計算機三級《數(shù)據(jù)庫》上機試題及答案匯總
2015年計算機三級《網(wǎng)絡(luò)技術(shù)》高分突破試卷匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |