第1題
某圖書館有下列已知的相關資訊。
.每本“書”有一個ISBN 號碼,這個號碼是唯一的。每本書也有書名,
作者,出版社,等資料需要記載下來。
.每個“讀者”都有身分證號碼,姓名,和手機號碼。有些讀者可能有
二個或者更多個手機,其號碼都要記錄下來。若某讀者來到圖書館,
從來沒有借書,那麼他的個人資料,圖書館就不會記錄下來。只有那
些有借過書的,圖書館才會記錄他的個資。
.圖書館有若干“館員”,每個館員有身分證號碼、姓名、隸屬組別。
其中,隸屬組別,指的是館員的工作性質。例如,有的是採購組,有
的是編目組,有的是服務組,等等。每位館員只會隸屬於一個組。館
員中,只有服務組的館員,會參與在處理讀者借書的程序中。
.所有的“借閱紀錄”都要存記下來,也就是某位讀者,借出了某一本
書,經由某位館員處理的,這個資訊要記錄下來。同時也要把借出日
期,和歸還日期,記錄下來。讀者每次可借閱多本書。
.此外,圖書館會不定期檢查圖書的“書籍狀態”,每次檢查若發現有
狀況的書籍,則會把相關資訊記錄下來。這部分的資訊包括檢查日期,
和狀態說明(例如,遺失、破損等等)。
根據上述的說明,請使用實體-關係模型(Entity-Relationship model)來
為這些資料設計出正確的綱目(ER schema),繪出其綱目圖(schema
diagram)。其中關係(relationship)的基數比(cardinality ratio)請使用
1:N, M:N…, 等方式來表示,並且請在圖中標示出參與限制條件
(participation constraint)。(25 分)
第4題
有5 個交易(transactions)T1, T2, T3, T4, T5,在被執行時,形成以下的
程序(schedule ),假設該資料庫管理系統的恢復機制(recovery
mechanism)使用的是延遲更新協定(deferred update protocol)。並且假
設系統在查核點時(checkpoint),會使所有正在執行的交易工作暫停,
將已經完成的交易(committed transaction)的結果,強迫儲存(force write)
到二線儲存器(secondary storage)。請說明這5 個交易在系統當機後,重
新恢復時,各需要對這5 個交易作什麼處置,並說明理由。(25 分)
[start-transaction, T1]
[read_item, T1, A]
[start-transaction, T3]
[read_item, T3, C]
[write_item, T1, A, 10]
[start-transaction, T4]
[read_item, T4, D]
[commit, T1]
[write_item, T3, C, 20]
[checkpoint]
[read_item, T3, E]
[write_item, T4, D, 30]
[start-transaction, T2]
[write_item, T3, E, 40]
[commit, T3]
[read_item, T2, B]
[start-transaction, T5]
[write_item, T2, B, 50]
[read_item, T5, G]
[commit, T2]
[read_item, T4, H]
[write_item, T5, G, 60]
←system crash