九九年高考三級資料庫應用
一、有一個汽車保險公司為他們的客戶和客戶的意外事故,要設計一個資料庫來記錄這些資料,已經得到的資料如下。
● 客戶資料,包括每個客戶的駕照號碼、姓名、出生日期、地址、電話,其中出生日期要分別記載年、月、日,每位客戶的電話號碼可能不只一個,受保客戶必須要有車子,否則不能購買保險。
● 汽車資料,包括受保的汽車牌照號碼、製造車廠、出廠年份。
● 每位客戶何時開始擁有受保的車子 (開始日期),也要記錄下來。
● 一位客戶可以擁有多輛受保的車子,但每輛車子只能隸屬於一位客戶。
● 每次意外事故要記載下來的內容,包括事故編號、事故地點、日期。
● 每次事故中,是由那位客戶駕駛,是那輛車發生事故,也要記載下來,事故的賠償金額也要記下。
● 因為事故有可能導致客戶喪生,賠償金此時要發給客戶的家屬。因此客戶的家屬資料也要記載下來,它包括家屬姓名、身分證號碼、年齡。
● 以上這些資料中,客戶的駕照號碼、汽車牌照號碼、事故編號、(客戶家屬的) 身分證號碼,這些都是唯一的編號,也就是不會有二個相同的號碼。
請為這保險公司設計一個最佳的資料庫,用實體關係模型(Entity-Relationship model),把它設計出,並繪出其綱目圖 (schema diagram),參與度 (participation constraint) 和基數比 (cardinality ratio) 亦須註明。(20分)

二、已知有一學校的資料庫綱目 (database schema) 如下:
Student(SID, SName, SAge, Address) //學生(學號、姓名、年齡、地址)
Teacher(TID, TName, TAge, Office#) //老師(老師編號、姓名、年齡、辦公室)
Course(CID, CTitle, Credit) //課程(課程編號、課名、學分數)
Take(CID, TID, SID, Score) //修課(課程編號、老師編號、學生編號、分數)
請用關連式代數 (relational algebra),回答下列問題,關連 (relation) 和欄位(attribute) 的名稱,請一律使用其英文名稱。
(一)找出那些學生有修年齡是60歲 (含) 以上的老師 (TAge>=60) 所教的任一門課程,列出這些學生的SName和教那些課程的老師的 TName。(10分)
(二)針對年齡是18歲 (含) 以下的學生 (i.e., SAge<=18),列出他們每個人的SID,和每個人所修所有課程的平均分數 (average score)。(10分)

三、同上題的資料庫綱目 (database schema),請用 SQL 來回答下列問題。
(一)請找出有那些學生,他們修了 TName =“Harrison Ford”這位老師所開設的所有課程,請列出這些學生的 SName。(10分)
(二)對於每一門學分數是3學分 (含) 以上 (i.e., Credit>=3),而且有50個 (含) 以上的學生來修的課程,列出這些課程的名稱、授課老師,和該門課程裡,學生成績超過95分 (含) 的人數,假設不會有二位老師開授同一門課程。(10分)

四、R(A, B, C, D, E) 是一個關連 (relation),且它的欄位之間,存在有函數相依性 (functional dependency) 如下:A→B,B→C,BC→BD,D→E,AB→CD。
(一)請將所給予的 functional dependencies 借由 inference rules簡化到最簡形式。(5分)
(二)若僅將此關連作第二正規化 (second normal form),會得到什麼關連?請註明每個關連的主鍵 (Key) 是何者?(5分)
(三)若將此關連作第三正規化 (third normal form),會得到什麼關連?請註明每個關連的主鍵 (Key) 是何者?(10分)

五、回答下列問題:
(一)兩階段鎖定法 (Two-phase locking protocol) 是保證交易處理可序性(Serializability) 的充分條件 (sufficient condition),還是必要條件(necessary condition)?為什麼?(10分)
(二)某銀行電腦系統於某日突然大當機。約數小時之後維修人員向總經理報告說『因為系統有軟體瑕疵 (software bugs),以致於當機後在主記憶體(main memory) 的資料都已喪失。為了重建當時主記憶體的資料,因此花了幾個小時』。依據你的專業判斷,所謂“重建當時主記憶體的資料”,指的是作了那些主要的動作,說明之。(10分)

arrow
arrow
    全站熱搜

    jacksaleok 發表在 痞客邦 留言(0) 人氣()