阿摩線上測驗
登入
首頁
>
公職◆資料庫應用
> 115年 - 115 高等考試_三級_資訊處理:資料庫應用#141771
115年 - 115 高等考試_三級_資訊處理:資料庫應用#141771
科目:
公職◆資料庫應用 |
年份:
115年 |
選擇題數:
0 |
申論題數:
14
試卷資訊
所屬科目:
公職◆資料庫應用
選擇題 (0)
申論題 (14)
一、隨著資安威脅與法規合規性(如 ISO 27001)要求提升,資料庫稽核
(Database Audit)成為確保數據完整性的關鍵機制。假設現有用於記錄
該稽核數據之關聯式資料庫,其資料表及內容敘述如下:
稽核政策 (政策編號, 政策名稱, 物件名稱, 物件類型, 稽核動作,
是否啟用, 建立者編號)
政策編號為 PK;物件類型之內容值可為「TABLE」、「VIEW」、
「STORE PROCEDURE」、「FUNCTION」之英文;稽核動作之內容
值可為「SELECT」、「INSERT」、「UPDATE」、「DELETE」等指令。
稽核日誌 (日誌編號, 政策編號, 操作時間, 操作類型)
日誌編號為 PK;政策編號為 FK,參考「稽核政策」表中的政策編號。
異常事件 (事件編號, 日誌編號, 嚴重程度, 偵測時間, 事件描述,
是否已結案)
事件編號為 PK;日誌編號為 FK,參考「稽核日誌」資料表的日誌編
號;嚴重程度之內容值可為「高」 、「中」 、「低」 ;是否已結案之內容
值為「Y」或「N」。
稽核人員 (稽核人員編號, 姓名, 所屬部門)
稽核人員編號為 PK。
事件處理紀錄 (處理編號, 事件編號, 稽核人員編號, 處理日期)
處理編號為 PK;事件編號為 FK,參考「異常事件」資料表中的事件
編號;稽核人員編號為 FK,參考「稽核人員」資料表的稽核人員編號。
請回答下列問題,其中至請使用 SQL 語法進行作答。
請 透 過 上 述 關 聯 式 綱 目 畫 出 實 體 關 聯 式 模 型 ( Entity-Relationship
Model, ER Model)。(10 分)
查詢各嚴重程度異常事件的統計資訊,列出嚴重程度、事件總數、已
結案數、未結案數、未結案比例,未結案比例四捨五入計算至小數點
後第 2 位,依事件總數由高至低排序。(5 分)
查詢每位稽核人員於 2026 年的處理績效,列出稽核人員姓名、所屬部
門、處理事件總數、其中高嚴重程度事件數,只列出處理事件總數大
於 5 件的稽核人員,依處理事件總數由高至低排序。 (5 分)
假設現新增一筆稽核政策資料,政策編號為「P2025001」 ,政策名稱為
「 財 務 資 料 表 異 動 稽 核 」, 物 件 名 稱 為 「 Finance 」, 物 件 類 型 為
「TABLE」 ,稽核動作為「DELETE」 ,是否啟用為「Y」 ,建立者編號
為「U001」 。請寫出對應的 SQL 新增語法。 (5 分)
二、某機構資料庫有以下兩張 E 與 C 資料表,並存在其關聯:
E(SID, CID, Grade):共 60000 筆資料,每個區塊(Block)存 50 筆資料。
C(CID, Name, Credit):共 600 筆資料,每個區塊(Block)存 30 筆資料。
假設該機構系統可用的緩衝區(Buffer)M 共 22 頁,並執行下面 SQL 語
法:
SELECT E.SID, C.Name, E.Grade
FROM E JOIN C ON E.CID = C.CID
目前已知關聯式資料庫中,常見的 Join 演算法有三種,即 Simple Nested
Loop Join (SNLJ)、Block Nested Loop Join (BNLJ)與 Hash Join,其 I/O 成
本分別計算如下:
Join 演算法 I/O 成本公式 說明
SNLJ B(R) + |R| × B(S) 對 R 每一筆 Tuple,掃描整個 S
以 Block 為單位分批載入 R,每批掃描一次 S;M-2
BNLJ B(R) + ⌈B(R)/(M-2)⌉ × B(S)
頁給外層,1 頁給內層,1 頁給輸出
Hash Join 3 × (B(R) + B(S)) 分割階段讀寫各一次,探測階段再讀一次
演算法內符號說明如下:B(R)代表資料表 R 的區塊(Block)數,也就是
以 R 作為 JOIN 運算的驅動表(Driving Table / Outer Table)
;|R|代表資料
表 R 的資料筆數;M 代表可用緩衝區(Buffer)頁數;S 為要計算的資料
表。
請回答下面問題,並計算下列各演算法的 I/O 成本(需列計算過程) :
使用 SNLJ 法,以資料表 E 為驅動表。(5 分)
使用 BNLJ 法,以資料表 C 為驅動表。(5 分)
使用 Hash Join 法(假設分割後各 Partition 可完整放入記憶體) 。(5 分)
綜合比較上述三種結果,在本題情境下應選擇那種演算法?說明原
因。 (10 分)
三、假設資料庫中有三個資料項(Data Items) :A、B、C,其三者初始值皆為
100,當有三筆交易 T1、T2 與 T3 同時進入系統,各自交易的預期操作順
序如下所示:
T1:read(A) → write(A) → read(B) → write(B)
T2:read(B) → write(B) → read(C) → write(C)
T3:read(C) → read(A) → write(A)
假設排程器(Scheduler)採用嚴格兩階段鎖定協定(Strict 2PL)
:也就是
「在增長階段(Growing Phase)
,交易可以取得鎖定,但不能釋放任何鎖
定」以及「在收縮階段(Shrinking Phase)
,交易持有的所有互斥鎖 X(X-
lock)必須持續保留,直到交易提交(Commit)或中斷(Abort)後才能一
次釋放」 。所有操作皆遵循著「具備鎖定升級:即若交易已持有共享鎖 S,
在執行 write 前必須升級為互斥鎖 X」。考慮排程器依照時間序列 t1 至 t9
收到下列操作請求:
時間 分配請求與操作 時間 分配請求與操作
t1: T1 請求 read(A) t 6: T1 請求 read(B)
t2: T2 請求 read(B) t 7: T2 請求 read(C)
t3: T3 請求 read(C) t 8: T3 請求 read(A)
t4: T1 請求 write(A) t 9: T1 試圖提交(commit)
t5: T2 請求 write(B)
請回答以下問題:
詳細分析從 t1 至 t9 的執行過程中,各個交易的鎖定狀態變化,並且標
記該時間點交易是否會進入阻塞(Blocked/Waiting)狀態?(書寫時,
若某個資料項要使用 S 鎖請標註 Lock-S(資料項),若需要 X 鎖則書寫
Lock-X(資料項)。) (10 分)
此排程於 t9 之後的時間,是否有機會形成死結(Deadlock)?若有,
請指出是那些交易互相等待。(10 分)
若排程能順利執行或經由處理後結束,請說明各交易的鎖定點(Lock
Point)分別位於那一個時間點。(5 分)
四、BASE 原則(BASE Properties)與 CAP 定理(CAP Theorem)常見於在
分散式系統(Distributed Systems)與分散式資料庫的架構設計中,請回
答以下問題:
解釋 BASE 原則。 (10 分)
解釋 CAP 定理。(10 分)
在分散式資料庫中,CAP 是一項限制,為何一個分散式資料庫不可能
同時滿足 CAP?(5 分)
相關試卷
115年 - 115 一般警察特種考試_三等_警察資訊管理人員:資料庫應用#140912
115年 · #140912
115年 - 115 國家安全情報、移民行政特種考試_三等_資訊組(選試英文)、移民行政資訊組:資料庫應用#140907
115年 · #140907
115年 - 115 身心障礙特種考試_三等_資訊處理:資料庫應用#138965
115年 · #138965
115年 - 115 關務特種考試_三等_資訊處理(選試英文):資料庫應用#138921
115年 · #138921
114年 - 114 地方政府公務特種考試_三等_資訊處理:資料庫應用#134773
114年 · #134773
114年 - 114 公務升官等考試_薦任_資訊處理:資料庫應用#133256
114年 · #133256
114年 - 114 調查特種考試_三等_資訊科學組:資料庫應用#129582
114年 · #129582
114年 - 114 高等考試_三級_資訊處理:資料庫應用#128766
114年 · #128766
114年 - 114 一般警察特種考試_三等_警察資訊管理人員:資料庫應用#127794
114年 · #127794
114年 - 114 國家安全情報特種考試_三等_資訊組(選試英文):資料庫應用#127703
114年 · #127703