第 1 頁:模擬試題 |
第 6 頁:參考答案與解析 |
三、設計與應用題(共30分)
1.已知某教務管理系統的設計人員在需求分析階段收集到下列原始數據表格:
教師
教師號 |
教師名 |
職稱 |
工資 |
上級領導教師號 |
9868 |
王文華 |
教授 |
8000 |
null |
9983 |
李一斌 |
副教授 |
6000 |
9868 |
9985 |
丁一 |
講師 |
刪 |
9868 |
0783 |
王潤澤 |
講師 |
刪 |
9868 |
0899 |
歐陽丹妮 |
講師 |
刪 |
9868 |
課程
課程號 |
課程名 |
學分 |
教材號 |
教材名 |
出版社名 |
任課教師號 |
C2006 |
計算機原理 |
3 |
11 |
計算機原理 |
清華大學出版社 |
9868 |
C2006 |
計算機原理 |
3 |
12 |
計算機原理與應用 |
高等教育出版社 |
9868 |
C2004 |
數據結構 |
3 |
13 |
數據結構 |
清華大學出版社 |
9868 |
C2010 |
數據庫原理 |
13 |
14 |
數據庫原理 |
清華大學出版社 |
9868 |
C2010 |
數據庫原理 |
3 |
15 |
數據庫原理與技術 |
高等教育出版社 |
9868 |
S3001 |
音樂欣賞 |
2 |
16 |
音樂欣賞 |
清華大學出版社 |
9983 |
已知該業務系統存在如下規則:
Ⅰ.每個教師有唯一的教師號,每個教師號對應唯一的一名教師;
Ⅱ.每門課程有唯一的課程號,每個課程號對應唯一的一門課程;
Ⅲ.每本教材有唯一的教材號,每個教材號對應唯一的一本教材;
Ⅳ.每個教師最多只有一個上級領導,也可以沒有上級領導;
V.一門課程僅由一名教師講授;
Ⅵ.一本教材僅用于一門課程。(12分)
(1)請根據原始數據表及業務規則,給出該系統的關系模式,保證每個關系模式滿足3NF,并說明每個關系模式的主碼和外碼。
(2)畫出該系統的ER圖,ER圖中需給出每個實體集的屬性,主碼屬性用下劃線標識。
2.在SQL Server 2008中,設某數據庫中有商品表(商品號,商品名,進貨價格),商品號為主碼;銷售表(商品號,銷售時間,銷售數量,銷售價格,本次利潤),商品號和銷售時間為主碼,銷售價格為本次銷售商品的單價。現要求每當在銷售表中插入前4列數據時(假設一次只插入一行數據),系統自動計算本次銷售產生的利潤,并將該利潤賦給銷售表的第5列“本次利潤”。請編寫實現上述功能的后觸發型觸發器代碼。(10分)
3.在進行某學校教務管理系統的數據庫設計時,數據庫設計人員設計了如下幾個關系模式:
系(系號,系名),系號為主碼
學生(學號,姓名,所在系號),學號為主碼
課程(課程號,課程名,開課系號),課程號為主碼
選課(學號,課程號,選課時間),學號和課程號為主碼
開發人員在將關系模式實施到SQL Server 2008的“教務”數據庫時,使用了如下表結構定義語句:
CREATE TABLE系(
系號varchar(10)NOT NULL,
系名varchar(100)
)
CREATE TABLE學生(
學號varchar(50)NOT NULL,
姓名varchar(50),
所在系號varchar(10)
)
CREATE TABLE課程(
課程號varchar(50)NOT NULL,
課程名varchar(100),
開課系號varchar(10)
)
CREATE TABLE選課(
學號varchar(50)NOT NULL,
課程號varchar(50)NOT NULL,
選課時間datetime
)
在執行如下查詢語句時發現執行效率很低:
SELECT *FROM選課JOIN學生0N學生.學號=選課.學號
JOIN系ON系.系號=學生.所在系號
JOIN課程0N課程.課程號=選課.課程號
WHERE系.系號=ˊ012 ˊ
AND convert(vvarchar(10),選課時間,120)>=ˊ2010-01-01ˊ
(1)在查找原因時發現建表語句有問題。請指出問題并說明該問題是否會影響此查詢語句的執行效率。(4分)
(2)設已在“選課”表的“選課時間”列及“學生”表的“所在系號”列上建立了索引。請問這兩個索引是否能夠提高該查詢語句的執行效率?如果不能,請說明原因。(4分)
相關推薦:
2015年全國計算機等級考試無紙化考試系統操作指南北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |