106年公務人員高等考試三級考試試題 代號:26070 全一張
(正面)
類 科:資訊處理 科 目:資料庫應用
考試時間:2 小時 座號:
※注意: 禁止使用電子計算器。
不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。
本科目除專門名詞或數理公式外,應使用本國文字作答。
(請接背面)
一、考慮下列關聯資料表:
教務資料(教授姓名, 教授工作證號碼, 研究室編號, 研究室所在建築物, 課程編號, 課程名稱, 教室所在建築物, 教室編號, 修課成績, 學生姓名, 學生證號碼) 該關聯資料表「教務資料」有以下限制:
每位教授的教授工作證號碼是唯一的;每位學生的學生證號碼是唯一的;每門課的課 程編號是唯一的;每間研究室的研究室編號是唯一的;每間教室的教室編號是唯一的。
每位教授都分配有一間且僅有一間研究室,每一間研究室可供給零位以上教授使用。
每門課由一位且僅由一位教授上該門課,每位教授至少上一門課。
每位學生至少修一門課,每門課有零位以上學生修該課程。
每門課只會在一間教室上課,每間教室都可供零門課以上使用。
修課成績指某位學生修某門課的成績。
試依前述限制,描述所有可能的功能相依性(functional dependency)。(10 分)
試問如何以功能相依性的規則,依前述限制來決定出關聯資料表「教務資料」的 主要鍵(primary key)。(10 分)
請判定上述關聯資料表「教務資料」是否有符合第三正規化之要求,如不符合的 話,試問將如何修改使其能符合第三正規化之要求,並標示出修改後每一關聯資 料表的主要鍵(primary key)。(10 分)
試請依據小題已修改成符合第三正規化要求後之關聯資料表,寫一 SQL 程式片 段,依學生證號碼由小而大的順序,輸出每一位學生的學生證號碼、學生姓名,
及其所修的每一門課的課程名稱與所獲得的成績。(10 分)
106年公務人員高等考試三級考試試題 代號:26070 全一張
(背面)
類 科:資訊處理 科 目:資料庫應用
二、一實體關聯圖(ER-diagram)包含有三個實體 Project、Employee 及 Family。當中:
Project 含有三個屬性 P-No、P-Name 及 DueDate,且 P-No 為該實體的主要鍵
(primary key)。
Employee 含有三個屬性 Emp#、E-Name 及 Office,且 Emp#為該實體的主要鍵。
Family 含有兩個屬性 Name 及 DOB,且 Family 為一弱實體(weak entity)。
另 Project 與 Employee 間有一 Assignment 的關聯(relationship),該關聯顯示:
每一 Project 被指定給至少有一位以上 Employee 在負責。
每一 Employee 需負責零個以上 Project。
且每一個 Assignment 都會記錄,負責每一 Project 的每一位 Employee,在該 Project 所扮演的角色、參與該 Project 的起始日期及結束日期。
Employee 與 Family 間也有一 Dependent 的關聯。該關聯描述:
每一位 Employee 能扶養零位以上 Family。
每一位 Family 只能登記為某一位 Employee 的扶養人,且每一位 Family 都必須 為某一位,且只有一位 Employee 所扶養。
試以最適當且最少個關聯資料表(relation),來描述上述之實體關聯圖。需寫出該 些關聯資料表的名稱、所含之屬性及主要鍵。(10 分)
對於上述之關聯資料表(relation),於撰寫程式時,那些屬性之間應設定為參考完 整性限制(Referential integrity constraint),那些外來鍵屬性(foreign key)必須設 為不可為空值(Non-Null)。(10 分)
三、設 X 與 Y 為資料庫中的兩個變數,其中 X 的原始值為 30,Y 的原始值為 40。另 P1與 P2為兩位不同程式,當中 P1將依序執行 X = X + Y 及 Y = Y-4 兩個指令,同時 P2 也 將 執 行 Y = X + Y + 1 的 指 令 。 假 設 該 資 料 庫 系 統 沒 有 良 好 同 步 處 理
(synchronization processing)之機制,試問執行後(X, Y)之最後值可能為何,需寫出 您的推導步驟。(10 分)
四、有關資料庫中交易(transaction)管理之永久性(Durability, Permanency)特性,為一 旦交易全部執行,且經過確認(Commit)後,即使未來發生系統當機或毀損,其對 資料庫所做的變更則永遠有效。為能從各種故障回復,當交易進行中,系統常以維 護一個日誌(Log),來提供交易錯誤或故障時,所需的復原資訊。若交易被正常完 成時,資料庫管理系統(database management system)會進行交易 Commit 動作,否 則將對此交易進行 Rollback 動作。試問資料庫管理系統將如何動作,即便是資料庫 管理系統正處理日誌(Log)資料時,系統發生故障了,也能確保上述交易管理之永 久性。(6 分)當系統故障時,系統如何處理?(4 分)
五、請從每筆資料的長度大小之差異大否,整個檔案儲存資料總量龐大否,需常進行搜 尋資料動作否,須常進行更新資料動作否等因素,從搜尋速度及使用記憶體空間方 面考量,來探討採用循序檔案搜尋法、直接檔案搜尋法及雜湊搜尋(hashing search)
法之適用性,並說明原因。(20 分)