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