108年公務人員特種考試警察人員、一般警察人員考試及 108年特種考試交通事業鐵路人員、退除役軍人轉任公務人員考試試題
考 試 別:一般警察人員考試 等 別:二等考試
類 科 別:刑事警察人員數位鑑識組 科 目:資料庫管理與應用
考試時間: 2 小時 座號:
※注意: 禁止使用電子計算器。
不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。
本科目得以本國文字或英文作答。
代號:20130 頁次:3-1
一、 請為如下的選舉民調資訊管理系統設計符合 BCNF 且考量 OO(物件導向)
的 EER data model,model 中請註明合適的 primary/foreign/candidate keys,
資料表間的關聯亦請適當地說明彼此間的 maximum/minimum cardinality。
(30 分)
註:不需要用到的資料不必列入
‧系統記錄多份不同選舉的民調資料,每份民調會記錄民調的主題、調 查進行的期間(開始、結束的日期)、調查的項目、受訪人姓名、電 話、年齡、性別、受訪人對調查項目的選擇(單選或不作選擇)
‧系統可以查詢特定日期,有那些民調在進行中
‧系統可以查詢特定民調,候選人的姓名、性別、年齡、政見、政黨別、
學歷、經歷
‧系統可以依受訪者的性別、年齡統計分析不同黨派、年齡、性別候選 人的得票率
代號:20130 頁次:3-2
二、假設現有如下戶外場地管理資訊的關連式資料庫,當場地有人使用時,
會安排工作人員負責使用場地的維護,請使用 SQL 回答相關的子問題。
Worker(wID, name, deptID) FKs: deptID ref. Department(dID) Department(dID, name, managerID, numberOfPG_inCharge)
FKs: managerID ref. Worker(wID) CKs: name
Playground(pID, name, type, chargePerHour, location, manageDept) FKs: manageDept ref. Department(dID)
UseStatus(playgroundID, workerID, date, startHour, numHours)
FKs: playgroundID ref. Playground(pID), workerID ref. Worker(wID) 假設場地的最早開放時間為早上八點,最晚可以開始使用的時間為下午 四點,每次使用的時數最多為四個小時;所有資料欄位不允許空白。
請使用資料庫描述語言(DDL),建置上述的資料庫,包括資料定義、
primary/candidate/foreign key 及 data domain(需先 create database,再 依序建置 data table)。(10 分)
請找出部門主管不是該部門工作人員的部門,結果請顯示此類部門的代 號與名稱、該部門的主管編號、姓名、及主管所屬的部門名稱。(5 分)
請以場地的位置為分類,計算 2019 年各場地的收費總額,結果顯示 場地名稱、場地位置、總收費金額、總使用時數,並以總使用時數降 冪排序。(5 分)
請以工作人員為分類,找出 2018 年總工作時數大於 800 的工作人 員,結果顯示工作人員所屬部門的名稱、工作人員的編號、名字、及 總工作時數。(5 分)
請找出至目前,2019 年工作時數為零的工作人員,結果顯示工作人員 所屬部門名稱、工作人員編號、名字,並依年份由近至遠排序。(5 分)
棒球場類型的場地,不再出借使用,請刪除所有棒球場的活動場地及 棒球場相關使用狀況資料,並更新各部門所管理的活動場地個數(資 料異動時,需維持資料的參照完整性)。(10 分)
代號:20130 頁次:3-3
三、請就如下的非序列排程(non-serial schedule)(時間軸由上往下),使用 conflict equivalent 說明 Transaction T1, T2, T3 同步存取資料 A, B, C 時,是否具有排程循序性(serializability),如具備排程循序性,執行結 果可以等同於三個 Transaction 的那種序列排程;如果不具排程循序 性,衝突的 cycle 為何。(15 分)
Time T1 T2 T3 Read A
Write A
Read C
Read A Read B
Read B Write B Write B
Write A
Write C
Read C Write C
四、請以 Log-Based Recovery 資料復原模式為例,就如下的 log 資料,以表 格說明 Defered DB Update 跟 Immediate DB Update,系統如於 Time2, Time5 or Time6 時間點後發生故障(故障時間點是獨立的,即一次僅就 一個時間點故障而言),那些 DB 異動的動作,需使用那種復原方式(Undo
(Rollback)或 Redo(Rollforward))來處理。(15 分)
Time0: <T1, BEGIN TRAN>
Time1: <T1, UPDATE, …, data1, 1000>
Time2: <T1, UPDATE, …, data2, 500>
Time3: <T1, COMMIT TRAN>
Time4: <T2, BEGIN TRAN>
Time5: <T2, UPDATE, …, data3, 1500>
Time6: <T2, COMMIT TRAN>