第 1 頁:模擬試題 |
第 6 頁:參考答案與解析 |
三、設(shè)計與應用題
1.(1)【解題思路】
關(guān)系的描述稱為關(guān)系模式,它可以形式化地表示為R(U,D,DOM,F(xiàn))。要想使轉(zhuǎn)換生成的關(guān)系模式滿足3NF,則必須滿足關(guān)系模式中每一個非主屬性既不部分依賴于碼也不傳遞依賴于碼。根據(jù)題目中的表中的數(shù)據(jù)和業(yè)務系統(tǒng)的規(guī)則可知,共有四個實體存在,分別為教師、課程、教材、職稱,職稱作為實體而不是教師的屬性是因為職稱與工資掛鉤,考慮到其有進一步描述的特性,所以把職稱作為一個關(guān)系而不是教師的一個屬性,而且教師號、職稱、工資之間存在傳遞依賴,不滿足3NF。
【參考答案】
教師(教師號,教師名,上級領(lǐng)導教師號,職稱)
主碼:教師號;外碼:上級領(lǐng)導教師號、職稱
職稱(職稱,工資)
主碼:職稱;外碼:無
課程(課程號,課程名,學分,教材號,任課教師號)
主碼:課程號;外碼:教材號,任課教師號
教材(教材號,教材名,出版社)
主碼:教材號;外碼:無
(2)【解題思路】
E-R圖也稱實體一聯(lián)系圖,提供了表示實體類型、屬性和聯(lián)系的方法,用來描述現(xiàn)實世界的概念模型。為了簡化E-R圖的處置,現(xiàn)實世界的事物能作為屬性對待的,盡量作為屬性對待。實體與屬性的劃分給出如下兩條規(guī)則:①作為“屬性”,不能再具有需要描述的性質(zhì),“屬性”必須是不可分的數(shù)據(jù)項,不能包含其它屬性。②“屬性”不能與其它實體有聯(lián)系,即E-R圖中所表示的聯(lián)系是實體之間的聯(lián)系。題目中教師與課程有講授關(guān)系,課程和教材有使用關(guān)系,教師與職稱有聘用關(guān)系。
【參考答案】
2.【解題思路】
觸發(fā)器是用戶定義在關(guān)系表上的一類由事件驅(qū)動的特殊過程。一旦定義,任何用戶對表的增、刪、改操作均由服務器自動激活相應的觸發(fā)器,在DBMS核心層進行集中的完整性控制。觸發(fā)器類似于約束,但比約束更加靈活,可以實施比FOREIGN KEY約束、CHECK約束更為復雜的檢查和操作,具有更精細和強大的數(shù)據(jù)控制能力。
觸發(fā)器的創(chuàng)建格式:
CREATE TRIGGER[schema_name.]trigger_name
ON{tablelview}
{FORlAFFERIINSTEAD OF}
{[INSERT][,][UPDATE][,][DELETE]}
AS{Sql_statement}
[;]
對應于本題中,觸發(fā)事件為在銷售表中插入前四列,條件為無條件執(zhí)行,觸發(fā)體動作為計算本次利潤并插入表中。
【參考答案】
CREATE TRIGGER calcu_product
AFTER INSERT ON銷售表
FOR EACH ROW
AS BEGIN
DECLARE@PurchasePrise float/*對應商品的進價的參數(shù)*/
SELECT@PurchasePrise=進貨價格FROM商品表WHERE商品號=new.商品號
UPDATE銷售表SET本次利潤=new.銷售數(shù)量*(new.銷售價格-@PurchasePrise)WHERE商
品號=new.商品號AND銷售時間=New.銷售時間
/*因為是行級觸發(fā)器,所以可以使用更新后的新值,用new*/
END
3.(1)【解題思路】
本題中查詢語句的功能是得到12系全體學生在2010年1月1日后的選課情況的匯總表。在每個數(shù)據(jù)表的定義時都必須嚴格定義表中的完整性約束條件,包括主鍵的設(shè)置,否則之后會出現(xiàn)主鍵有相同值的情況,破壞了數(shù)據(jù)的完整性。
【參考答案】
建表時沒有設(shè)置主鍵,也沒有說明外鍵,但不會影響此查詢語句的執(zhí)行效率。
(2)【解題思路】
“選課”表的“選課時問”列上建立了索引,從而能夠提高執(zhí)行效率。經(jīng)常出現(xiàn)在Where子句中的字段,特別是大表的字段,應該建立索引。索引的作用就類似于書的目錄,即會按照章節(jié)的順序排列。因此如果在一本數(shù)百頁的書里面查找某個章節(jié)位置的時候,就可以只掃描書的目錄。掃描的范圍縮了n倍,查詢的效率自然就會提高。另外,在SQL Server內(nèi)存夠用的情況下,索引會被放到內(nèi)存中,在內(nèi)存中查找自然又會提高效率,所以必須合理利用索引。
【參考答案】
“選課”表的“選課時問”可以建立索引,從而提高了查詢效率,而“學生”表的“所在系號”建立索引不會提高查詢效率。索引的意義就是將記錄按目標關(guān)鍵字順序排列,這樣查找某個目標關(guān)鍵字的對應值的位置就縮小了查找范圍!斑x課時間”的重復率低,所以可以作為索引,而學生“所在系號”的重復率太高,則不會提高查詢效率。
相關(guān)推薦:
2015年全國計算機等級考試無紙化考試系統(tǒng)操作指南北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |