第 1 頁:單選題 |
第 2 頁:應用題 |
第 3 頁:設計與應用題 |
三、設計與應用題(共30分)
36[簡答題]
設有圖書管理數據庫,包含三張表:
圖書明細表(圖書編號,圖書類別,圖書名稱,作者,出版社,出版日期,定價);
讀者表(借書證號,姓名,系別,辦證日期);
借出信息表(借出編號,借書證號,圖書編號,借書日期);
完成下列操作:
定義一個多語句表值函數,用于查詢學生借書情況,只需提供參數:借書證號,就可以通過調用函數返回此學生的借書情況,若有借書籍,則返回所借書籍的編號、書籍名稱、定價和借書日期;若沒有在借書籍,則返回記錄為空。設函數名為:f_BorrowBook(@jszh char(20))。
參考解析:【解題思路】
采用三表聯合查詢,通過傳人的借書證號查出借出信息表中的圖書編號,然后查出圖書明細表的信息。
SELECT圖書明細表.圖書編號,圖書名稱,定價,借出信息表.借書日期FROM借出信息表,圖書明細表
WHERE借出信息表.圖書編號=圖書明細表.圖書編號AND借出信息表,借書證號=@jszh
RETURN
END
37[簡答題]
設有高校選課系統(tǒng),需要對學校的系信息、教師信息、課程信息、學生信息、學生選課信息進行管理。已知系(DEPT)信息包括系編號(DeptNO)、系名稱(DeptName);教師(Teacher)信息包括教師號(TNO)、教師名(Tname);課程(Course)信息包括課程號(CNO)、課程名(CName)、課程學分(Credit);學生(Student)信息包括學號(SNO)、學生姓名(Sname)、學生性別(Sex)。
選課系統(tǒng)的管理規(guī)則如下:
Ⅰ 一個系可聘用多名教師,一個教師只受聘于一個系;
Ⅱ 一個系可有多名學生,一個學生只屬于一個系;
Ⅲ 一名教師可講授多門課程,一門課程可由多名教師講授;
Ⅳ 一名學生可選修多門課程,一門課程可被多名學生選修;
V 學生選修完課程后,可獲得相應課程的成績。
針對以上描述,完成下列設計內容:
(1)構建選修課系統(tǒng)的ER圖。(要求圖中的實體集名用試卷中給出的英文名,聯系所關聯的實體集名的首字母,字母間用“—”或“_”連接,大小寫不限)。
(2)根據所構建的ER圖,設計滿足3NF的關系模式,并標出每個關系模式的主碼和外碼。(要求關系模式名同實體集名或聯系名,屬性名用試卷中給出的英文名,大小寫不限)
參考解析:【解題思路】 (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模型轉換為關系模式的規(guī)則
①把ER模型中的每一個實體集轉換為同名的關系,實體集的屬性就是關系的屬性,實體集的碼就是關系的碼。
②把ER模型中的每一個聯系轉換成一個關系,與該聯系相連的各實體集的碼以及聯系的屬性轉換為關系的屬性。關系的碼根據下列情況確定。
若聯系為1:1,則每個實體集碼均是該關系的候選碼。
若聯系為1:n,則關系的碼為n端實體集的碼。
若聯系為m:n,則為各實體集碼的組合或其中一部分實體集碼的組合。
③合并具有相同碼的關系。根據規(guī)則,把一個ER模型轉換為關系模式,一般經歷下面兩個步驟:
第一,標識ER模型中的聯系。
第二,依次轉換與每個聯系相關聯的實體集及聯系。
【參考答案】
ER圖如下所示:
38[簡答題]
某書店采用了SQL Server 2008數據庫管理系統(tǒng),該書店有一個需求,需要統(tǒng)計指定年份中每一本書的銷售總額,例如:查詢2012年所有書的銷售總額。
已知圖書結構如下:
圖書表(書號BOOK_ID,書名BOOK_NAME,單價BOOK_PRICE)
銷售表(書號BOOK_ID,銷售時間SALE_TIME,銷售數量SALE_NUM)。
假設單價和銷售數量均為int型,書號和書名均為varchar(50)類型,銷售時問為datetime型。請給出滿足如下要求的多語句表值函數,該函數統(tǒng)計指定年份中每本書的銷售總額。
設函數名為:BOOK_PROFIT(@year int),函數的返回結果格式如下:
書號銷售總額
B00160000
A00450000
參考解析:【解題思路】 采用JOIN聯合查詢,先用WHERE條件查出符合銷售時間=@year的記錄,再將找出的記錄和圖書表合并,并采用單價*銷售數量計算出聯合查詢的表數據,最后根據GROUP BY統(tǒng)計每種書的銷售價格總和。
【參考答案】
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關推薦: