114 公務人員升官等薦任 資訊處理 資料庫應用 考古題詳解

114 年・公務人員升官等・薦任・資訊處理
試題代碼 資料庫應用

第 一 題20 分

請闡述下列專門術語的意涵:(每小題 4 分,共 20 分)

(1)ANSI/SPARC 三層架構

(2)並發(Concurrent)

(3)弱實體

(4)2NF2NF

(5)網路式資料模式

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查資料庫系統的架構、交易處理、ER 模型與關聯式正規化,以及資料模型的分類。作答時應以「定義+關鍵特性+用途或例子」說明各術語。

解題方法

(1)ANSI/SPARC 三層架構

ANSI/SPARC 將資料庫系統分成三個層次:

  • 外部層(External Level):描述個別使用者或應用程式所看到的資料視圖。同一資料庫可以有多個外部視圖,以呈現使用者需要的部分資料。
  • 概念層(Conceptual Level):描述整個資料庫的整體邏輯結構,包括資料項目、資料間的關係及限制條件;通常不涉及實際儲存方式。
  • 內部層(Internal Level):描述資料實際如何儲存,例如檔案組織、索引與儲存配置。

三層架構的重要目的,是透過外部/概念對映與概念/內部對映,提供資料獨立性。概念結構改變時,盡量不影響使用者視圖,稱為邏輯資料獨立性;儲存方式改變時,盡量不影響概念結構,稱為實體資料獨立性。

(2)並發(Concurrent)

並發是指多個交易或使用者的操作在時間上重疊進行。系統可能交錯執行不同交易的指令,即使處理器實際上是輪流執行,使用者仍可觀察到多項工作同時進行。

並發可提升系統資源利用率與交易吞吐量,但若控制不當,可能造成遺失更新、讀取未提交資料、不一致讀取等問題。因此資料庫管理系統須以鎖定、時間戳記或多版本並發控制等方法維持隔離性與資料一致性。

(3)弱實體

弱實體是 ER 模型中無法僅憑自身屬性唯一識別的實體,必須依賴另一個強實體(擁有者實體)才能識別及存在。

弱實體通常具有部分鍵(partial key),與擁有者實體透過識別關係連結;其識別方式是「擁有者實體的主鍵+弱實體的部分鍵」。例如,若「眷屬」以「員工編號+眷屬姓名」識別,且眷屬不能脫離員工而存在,則眷屬可建模為弱實體。

(4)第二正規化(2NF)

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 二 題20 分

有一資料表 Sales(OrderID, CustID, Amount, ODate)。請回答下列問題:(每小題 10 分,共 20 分)

(1)寫出查詢 2025 年 1 月的訂單與金額的 SQL 陳述式(statement)。

(2)下列 SQL 陳述式的作用為何?

SELECT CustID, SUM(Amount) AS TotalAmt
FROM Sales
WHERE ODate >= DATE '2025-01-01' AND ODate < DATE '2025-02-01'
GROUP BY CustID
ORDER BY TotalAmt DESC;

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查 SQL 的日期範圍條件、欄位投影,以及彙總查詢中的 WHERE、GROUP BY、SUM 與 ORDER BY:

  • SELECT 指定要輸出的欄位。
  • WHERE 篩選符合條件的資料列。
  • GROUP BY 依欄位分組,讓彙總函數分別計算各組結果。
  • SUM(Amount) 計算每組的訂單金額合計。
  • ORDER BY ... DESC 依指定欄位由大至小排列。

解題方法

(1)查詢 2025 年 1 月的訂單與金額

題目要列出 2025 年 1 月的訂單及金額,因此輸出訂單編號與金額,並以日期範圍篩選:

SELECT OrderID, Amount
FROM Sales
WHERE ODate >= DATE '2025-01-01'
 AND ODate < DATE '2025-02-01';

條件包含 2025 年 1 月 1 日,並排除 2025 年 2 月 1 日。這種「大於等於月初、小於下月月初」的半開區間寫法,即使 ODate 含有時分秒,也能涵蓋整個 1 月,不必假設月底的最後一刻是某個特定時間。

(2)說明 SQL 陳述式的作用

SELECT CustID, SUM(Amount) AS TotalAmt
FROM Sales
WHERE ODate >= DATE '2025-01-01' AND ODate < DATE '2025-02-01'
GROUP BY CustID
ORDER BY TotalAmt DESC;

依 SQL 的執行概念,可分為以下步驟:

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 三 題20 分

某校務系統包含 Student、Course、Section、Enroll 等四個資料表。其中,Section 描述同一課程(Course)在不同學期、時段、教室、教師的實際開課實例。請以 ER 模型描述主要實體、關聯以及基數,另外也說明為什麼需要 Section。

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查 ER 模型中的實體、關聯、基數,以及如何區分「課程目錄」與「實際開課班次」。

  • Student(學生):修課的學生實體。
  • Course(課程):課程的固定資料,例如課程代碼、名稱、學分。
  • Section(開課班次):某門課在特定學期實際開設的一個班次,包含學期、時段、教室、教師等資料。
  • Enroll(選課):記錄學生選修哪個開課班次的關聯;若採關聯實體表示,通常包含選課時間、成績等屬性。

ER 模型的基數描述實體間可參與關聯的數量,例如一對多(1:N)或多對多(M:N)。

解題方法

先依題意區分「課程」與「實際開課實例」:Course 描述課程本身,Section 描述該課程在特定學期與條件下的一次開課。再判斷各實體間的基數:

  1. Course 與 Section:一對多(1:N) 一門課程可在不同學期或時段開設多個 Section;每個 Section 必須隸屬於一門 Course。

  2. Student 與 Section:多對多(M:N) 一位學生可選修多個 Section;一個 Section 也可由多位學生選修。以 Enroll 關聯實體拆解此 M:N 關聯。

  3. Student 與 Enroll:一對多(1:N) 一位學生可有多筆選課紀錄;每筆 Enroll 紀錄對應一位學生。

  4. Section 與 Enroll:一對多(1:N) 一個 Section 可有多筆選課紀錄;每筆 Enroll 紀錄對應一個 Section。

可用下列文字 ER 圖表示:

Course 1 ─── N Section
 1
 │
 N
Student 1 ─── N Enroll
🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 四 題20 分

闡述備份與復原策略中的「完整備份、差異備份、交易日誌(WAL/Log)備份」三者的差異與搭配方式,並概述災難復原(DR)兩個 R 指標。

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查資料庫備份型態、交易日誌備份與災難復原目標。備份策略要回答兩件事:資料如何還原,以及發生災難後可接受多少資料損失與停機時間。題目不涉及特定資料庫產品,各產品的實作名稱可能不同,以下說明通用觀念。

  • 完整備份(Full Backup):備份某一時點的完整資料庫,作為還原基準。還原時通常先還原完整備份。
  • 差異備份(Differential Backup):備份自最近一次完整備份以來變更的資料。還原時需先還原完整備份,再套用所需的最新差異備份。
  • 交易日誌備份(Transaction Log Backup):備份上次日誌備份後新增的交易日誌記錄。日誌記錄包含交易變更與順序資訊,可用來將資料庫復原到較新的時間點;通常需依序套用完整備份之後的差異備份及相關日誌備份。
  • RPO(Recovery Point Objective,復原點目標):可接受的最大資料損失量,常以時間表示。例如 RPO 為 15 分鐘,表示災難發生時,最多接受約 15 分鐘內的資料變更無法復原。
  • RTO(Recovery Time Objective,復原時間目標):可接受的最長復原時間,即從服務中斷到恢復可用所容許的時間。

解題方法

依序比較三種備份的「涵蓋範圍、還原所需檔案、優缺點」,再說明如何串接還原;最後以 RPO 對應資料損失、RTO 對應停機時間。

設每週日凌晨執行完整備份,平日每天執行差異備份,交易日誌每 15 分鐘備份一次。若週四下午發生故障,可依下列順序復原:

  1. 還原週日的完整備份。
  2. 套用故障前最近一次差異備份,例如週四凌晨的差異備份。
  3. 依時間順序套用週四凌晨差異備份之後、至故障時間前的交易日誌備份。
  4. 若資料庫與日誌仍可讀取,並且系統支援,可套用尚未備份的尾端日誌(tail-log),進一步縮小資料損失範圍。

上述策略中,差異備份逐日累積自週日完整備份後的變更;交易日誌備份則銜接差異備份之後的變更。若沒有可用的交易日誌備份,通常只能復原到最新可還原的完整或差異備份時點。

三種備份的差異與搭配

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

第 五 題20 分

闡述資料庫發展生命週期(DBLC)常見的六個階段。

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

資料庫發展生命週期(Database Life Cycle, DBLC)是資料庫從規劃、設計、建置到維護與調整的完整流程。題目考查常見的六個階段及其先後關係。各教材對階段名稱略有差異,作答時應掌握每階段的主要工作。

解題方法

依資料庫專案由「確認需求」到「持續運作與調整」的順序,說明每個階段的目的與工作:

  1. 資料庫初始研究(Database Initial Study) 確認組織的問題、目標與資料需求,界定資料庫系統範圍;評估現行作業流程、可行性、資源需求與預期效益,作為是否啟動專案及後續規劃的依據。

  2. 資料庫設計(Database Design) 將需求轉化為資料庫結構。先建立概念設計,例如實體關係模型,再進行邏輯設計,將模型轉為關聯式資料表並處理正規化,最後進行實體設計,決定檔案組織、索引、儲存與存取方式等。

  3. 實作與載入(Implementation and Loading) 選定並設定資料庫管理系統(DBMS),依設計建立資料庫物件,例如資料表、限制條件、檢視表及索引;將既有資料轉換、清理後載入新資料庫,並設定使用者、權限及相關應用程式。

🔒

後續完整解題步驟與【答案】

免費註冊,享 3 天全站完整詳解閱覽。

免費註冊

其他考古題