第 1 頁(yè):?jiǎn)芜x題 |
第 4 頁(yè):應(yīng)用題 |
第 5 頁(yè):設(shè)計(jì)與應(yīng)用題 |
第 6 頁(yè):參考答案與解析 |
三、設(shè)計(jì)與應(yīng)用題
1.【解題思路】
(1)ER圖的畫法
建立相應(yīng)的ER圖的過(guò)程如下:
第一,確定實(shí)體類型。本題有四個(gè)實(shí)體類型,即Teacher實(shí)體,Course實(shí)體,Student實(shí)體和DEPT實(shí)體。
第二,確定聯(lián)系類型。Teacher實(shí)體與Course實(shí)體之間是多對(duì)多關(guān)系,即T-C關(guān)系,Student實(shí)體與Course實(shí)體之間是多對(duì)多關(guān)系,即S-C關(guān)系。DEPT實(shí)體與Teacher實(shí)體之間是一對(duì)多關(guān)系,即D-T關(guān)系。DEPT實(shí)體與Student實(shí)體之間是一對(duì)多關(guān)系,即D-S關(guān)系。
第三,把實(shí)體類型和聯(lián)系類型組合成ER圖。
第四,確定實(shí)體類型和聯(lián)系類型的屬性。
Teacher實(shí)體集屬性:教師號(hào)、教師名
Course實(shí)體集屬性:課程號(hào)、課程名、課程學(xué)分
Student實(shí)體集屬性:學(xué)號(hào)、學(xué)生姓名、學(xué)生性別
DEPT實(shí)體集屬性:系編號(hào)、系名稱
(2)ER模型轉(zhuǎn)換為關(guān)系模式的規(guī)則
、侔袳R模型中的每一個(gè)實(shí)體集轉(zhuǎn)換為同名的關(guān)系,實(shí)體集的屬性就是關(guān)系的屬性,實(shí)體集的碼就是關(guān)系的碼。
、诎袳R模型中的每一個(gè)聯(lián)系轉(zhuǎn)換成一個(gè)關(guān)系,與該聯(lián)系相連的各實(shí)體集的碼以及聯(lián)系的屬性轉(zhuǎn)換為關(guān)系的屬性。關(guān)系的碼根據(jù)下列情況確定。
若聯(lián)系為1:1,則每個(gè)實(shí)體集碼均是該關(guān)系的候選碼。
若聯(lián)系為1:n,則關(guān)系的碼為n端實(shí)體集的碼。
若聯(lián)系為m:n,則為各實(shí)體集碼的組合或其中一部分實(shí)體集碼的組合。
、酆喜⒕哂邢嗤a的關(guān)系。根據(jù)規(guī)則,把一個(gè)ER模型轉(zhuǎn)換為關(guān)系模式,一般經(jīng)歷下面兩個(gè)步驟:
第一,標(biāo)識(shí)ER模型中的聯(lián)系。
第二,依次轉(zhuǎn)換與每個(gè)聯(lián)系相關(guān)聯(lián)的實(shí)體集及聯(lián)系。
【參考答案】
ER圖如下所示:
設(shè)計(jì)3NF,如下:
DEFY(DeptN0,DeptName),主碼:DeptN0,無(wú)外碼
Teacher(TN0,TName,DeptNO),主碼TN0,外碼DeptNO
Student(SN0,SName,Sex,DeptNO),主碼SN0,外碼DeptNO
Course(CN0,CName,Credit),主碼CN0,無(wú)外碼
T-C(TN0,CNO),主碼(TN0,CNO),外碼TN0,CNO
S-C(SN0,CN0,成績(jī)),主碼(SN0,CNO),外碼SN0,CNO
2.【解題思路】
采用JOIN聯(lián)合查詢,先用WHERE條件查出符合銷售時(shí)間=@year的記錄,再將找出的記錄和圖書表合并,并采用單價(jià)*銷售數(shù)量計(jì)算出聯(lián)合查詢的表數(shù)據(jù),最后根據(jù)GROUP BY統(tǒng)計(jì)每種書的銷售價(jià)格總和。
【參考答案】
CREATE FUNCTION BOOK_PROFIT(@year int)
RETURNS@f_BOOK_PROFIT table(
書號(hào)varchar(50),
銷售總額int)
AS
BEGIN
INSERT INTO@f_BOOK_PROFIT
SELECT a書號(hào),SUM(a單價(jià)*b銷售數(shù)量)
FROM圖書表a JOIN銷售表b ON a書號(hào)=b書號(hào)
WHERE year(b銷售時(shí)間)=@year
GROUP BY a.書號(hào)
RETURN
END
或者
CREATE FUNCTION BOOK_PROFIT(@year int)
RETURNS@f_BOOK_PROFlT table(
BOOK_ID varchar(50),
PROFIT int)
AS
BEGIN
INSERT INTO@f_BOOK_PROFIT
SELECT a.BOOK_ID,SUM(a.BOOK_PRICE*b,SALE_NUM)
FROM BOOK a JOIN SALE b ON a.BOOK ID=b.B00K ID
WHERE year(bSALE_TIME)=@year
GROUP BY a.BOOK_ID
RETURN
END
3.【解題思路】
(1)SQL Server 2008的數(shù)據(jù)恢復(fù)模式有三種:
、俸(jiǎn)單恢復(fù)模式,此方法可以最大幅度減少事務(wù)13志的管理開銷,因?yàn)榛謴?fù)模式不備份事務(wù)日志。但是如果數(shù)據(jù)庫(kù)損壞,則簡(jiǎn)單恢復(fù)模式將面臨極大的數(shù)據(jù)丟失風(fēng)險(xiǎn)。在這種恢復(fù)模式下,數(shù)據(jù)只能恢復(fù)到最新備份狀態(tài)。因此對(duì)于用戶數(shù)據(jù)庫(kù),簡(jiǎn)單恢復(fù)模式只適用于測(cè)試和開發(fā)數(shù)據(jù)庫(kù),或用于主要包含只讀數(shù)據(jù)的數(shù)據(jù)庫(kù)。
、谕暾謴(fù)模式,此方法可以完整的記錄所有事務(wù),并將事務(wù)13志記錄保留到對(duì)其備份完畢為止。此方法相對(duì)簡(jiǎn)單恢復(fù)模式來(lái)說(shuō),更占用時(shí)間。
、鄞笕萘咳罩净謴(fù)模式,此方法只對(duì)大容量操作進(jìn)行最小記錄,使事務(wù)日志不會(huì)被大容量加載操作所填充。
在數(shù)據(jù)導(dǎo)入過(guò)程中,所有的業(yè)務(wù)都是暫停的,因此可以采用簡(jiǎn)單恢復(fù)模式提高數(shù)據(jù)導(dǎo)入速度。且只在數(shù)據(jù)導(dǎo)入的過(guò)程中暫時(shí)的修改恢復(fù)模式,因此數(shù)據(jù)并不會(huì)丟失。
(2)提高數(shù)據(jù)庫(kù)性能的方法一般是從外部環(huán)境、調(diào)整內(nèi)存分配、調(diào)整磁盤I/0、調(diào)整競(jìng)爭(zhēng)資源等幾方面著手來(lái)改變數(shù)據(jù)庫(kù)的參數(shù)。SQL Server 2008采用將數(shù)據(jù)緩沖在內(nèi)存的方式,因此在數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行的過(guò)程中會(huì)占用一定的內(nèi)存,又因?yàn)镮/O并不存在問(wèn)題,說(shuō)明內(nèi)存尚滿足需求。CPU使用率很高,表明CPU的計(jì)算能力不足,應(yīng)該增加CPU的數(shù)量。
【參考答案】
(1)此方法能夠提高數(shù)據(jù)導(dǎo)入速度。原因:此系統(tǒng)I/O很高,修改恢復(fù)模式后,系統(tǒng)最大限度減少日志開銷,可提高導(dǎo)入速度。由于僅在數(shù)據(jù)導(dǎo)入過(guò)程中修改恢復(fù)模式,所以并無(wú)數(shù)據(jù)丟失風(fēng)險(xiǎn)。
(2)第一種方案比較合理。原因:SQL Server 2008采用將數(shù)據(jù)緩沖在內(nèi)存的方式,因此內(nèi)存的使用率比較高是正常情況,且現(xiàn)階段I/O并不存在問(wèn)題,表明內(nèi)存滿足需求。此階段CPU使用率很高,表明CPU計(jì)算資源不足,因此增加CPU數(shù)量對(duì)解決問(wèn)題有效。
相關(guān)推薦:
全國(guó)計(jì)算機(jī)等級(jí)考試教材目錄(2015年版)
各地計(jì)算機(jī)等級(jí)考試報(bào)名入口及官方網(wǎng)站匯總
各地2015全國(guó)計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間及入口匯總
2015年全國(guó)計(jì)算機(jī)等級(jí)考試無(wú)紙化考試系統(tǒng)操作指南北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |