110 國安局特考三等 資訊組(選試英文) 資料庫應用 考古題詳解

110 年・國安局特考・三等・資訊組(選試英文)
試題代碼 資料庫應用

第 一 題30 分

某一家公司的關聯式資料庫(Relational Database)包含部門、員工與眷屬三個表格(Table)。

部門表格記錄部門的編號、名稱、年度預算;員工表格記錄員工的編號、姓名、所屬部門的編號;眷屬表格記錄員工編號、眷屬姓名、性別。

這三個表格的關聯綱要(Relational Schema)如下:

部門(部門編號、部門名稱、年度預算)

員工(員工編號、員工姓名、部門編號)

眷屬(員工編號、眷屬姓名、性別)

有底線的屬性(Attribute)為該表格之主鍵(Primary Key)。例如,眷屬表格之主鍵為員工編號與眷屬姓名兩個屬性的組合。

員工表格有一個外來鍵:部門編號,參照部門表格的主鍵。眷屬表格有一個外來鍵:員工編號,參照員工表格的主鍵。

針對下列三個查詢問題,請各寫出一個 SQL 指令來進行查詢。

(一)列出年度預算小於 500,000 的每一個部門之部門名稱。(10 分)

(二)列出部門名稱為「資訊部」的每一位員工之員工編號與員工姓名。(10 分)

(三)列出眷屬人數大於 1 的每一個員工之員工編號。(10 分)

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

這一題的完整詳解

核心觀念

本題考查基本 SQL 查詢,包括條件篩選、跨表連結,以及分組後以彙總條件篩選。

  • WHERE:篩選個別資料列。
  • JOIN:依照外鍵與主鍵的對應關係,連結不同資料表。
  • GROUP BY:將資料依指定屬性分組。
  • HAVING:篩選分組後的結果;搭配 COUNT 可計算每組的資料筆數。

解題方法

(一)列出年度預算小於 500,000 的部門名稱

部門名稱與年度預算都在「部門」表格中,因此直接查詢該表,並以 WHERE 篩選預算低於 500,000 的資料列。

SELECT 部門名稱
FROM 部門
WHERE 年度預算 < 500000;

(二)列出「資訊部」每位員工的員工編號與姓名

「資訊部」名稱在「部門」表格,員工編號與姓名在「員工」表格,因此依兩表共同的部門編號連結,再篩選部門名稱為「資訊部」的員工。

SELECT 員工.員工編號, 員工.員工姓名
FROM 員工
JOIN 部門
 ON 員工.部門編號 = 部門.部門編號
WHERE 部門.部門名稱 = '資訊部';
🔒

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

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

免費註冊

第 二 題30 分

R(A,B,C,D)R(A,B,C,D) 是一個關聯式資料庫表格的綱要,RR 為表格的名稱,AA、BB、CC、DD 為表格的屬性,AA 為表格的主鍵(Primary Key)。另外,該表格有下列功能相依(Functional Dependency):

A→B,C,DA\rightarrow B,C,D

D→BD\rightarrow B

(一)請問表格 RR 符合第幾正規型式(Normal Form)?請說明理由。(10 分)

(二)表格 RR 應該要正規化到第幾正規型式才適當呢?請將表格 RR 正規化到適當的正規型式,寫出正規化之後每一個表格的綱要,包括表格名稱、屬性、主鍵,以及外來鍵(如果有外來鍵的話)。(20 分)

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

這一題的完整詳解

核心觀念

本題考查正規化的判斷,以及如何依功能相依分解關聯綱要。

  • 候選鍵與主鍵:能決定關係中所有屬性的最小屬性集合為候選鍵;題目已指定 AA 為主鍵。
  • 第二正規型式(2NF):關係符合 1NF,且每個非主屬性都完全相依於每一候選鍵,不得只相依於複合候選鍵的一部分。
  • 第三正規型式(3NF):對每個非平凡功能相依 X→YX\rightarrow Y,至少符合下列其中一項:XX 是超鍵,或 YY 中每個屬性都是主屬性(屬於某個候選鍵)。
  • BCNF:對每個非平凡功能相依 X→YX\rightarrow Y,XX 都必須是超鍵。

解題方法

(一)判斷原表格的正規型式

由 A→B,C,DA\rightarrow B,C,D 可知 AA 能決定所有屬性,因此 AA 是候選鍵;題目並已指定 AA 為主鍵。因為主鍵只有一個屬性,不存在非主屬性只依賴複合主鍵一部分的情形,所以在符合 1NF 的前提下,RR 符合 2NF。

再檢查 3NF。題目另給 D→BD\rightarrow B。DD 不是超鍵,因為它不能決定 AA;BB 也不是主屬性,因為唯一候選鍵為 AA,BB 不屬於候選鍵。因此此功能相依違反 3NF。

亦可由下列相依關係看出傳遞相依:

A→D,D→B⇒A→BA\rightarrow D,\quad D\rightarrow B \quad\Rightarrow\quad A\rightarrow B

非鍵屬性 BB 經由非鍵屬性 DD 相依於主鍵 AA,所以不符合 3NF。由於 3NF 已不成立,BCNF 也不成立。因此原表格最高符合 2NF。

(二)分解至適當的正規型式

使用違反 3NF 的功能相依 D→BD\rightarrow B,將 RR 分解為:

🔒

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

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

免費註冊

第 三 題20 分

實體關係模式(Entity-Relationship Model)中的關係(Relationship)要描述其基數限制(Cardinality Constraints),包含最小基數(Minimum Cardinality)與最大基數(Maximum Cardinality)。

請定義最小基數與最大基數,並舉例說明。(20 分)

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

這一題的完整詳解

核心觀念

這題考 ER 模式中,實體參與某個關係的基數限制,也就是描述一個實體個體能參與該關係的最少與最多次數。

以「員工」和「部門」之間的「任職」關係為例,基數限制會回答:一名員工至少要隸屬於幾個部門、最多能隸屬於幾個部門。

解題方法

分別以「至少」和「至多」來定義最小基數與最大基數,並以實際情境說明兩者如何共同描述參與限制。

  • 最小基數(Minimum Cardinality):某實體個體參與一項關係的最少次數,表示該實體是否必須參與此關係。

  • 最小基數為 00:可不參與,屬於部分參與。

  • 最小基數為 11:至少必須參與一次,屬於全參與。

  • 最大基數(Maximum Cardinality):某實體個體參與一項關係的最多次數,用來限制關係的多重性,常以 11 或 NN 表示。

  • 最大基數為 11:最多參與一次。

  • 最大基數為 NN:可參與多次,NN 表示多個,沒有固定為某個數字。

🔒

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

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

免費註冊

第 四 題20 分

在建置資料倉儲系統(Data Warehousing System)時,資料倉儲中的資料通常是從營運系統(Operational Systems)中透過 ETL 的程序產生出來的;換句話說,資料倉儲系統與營運系統擁有各自的資料,是兩個分離的系統。

請說明將資料倉儲系統與營運系統分離的原因。(20 分)

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

這一題的完整詳解

核心觀念

本題考查資料倉儲與營運系統的用途差異,以及為何通常以 ETL 將營運資料整理後,載入另一個獨立的資料倉儲。

營運系統(Operational Systems)支援日常交易處理,例如訂單、付款、庫存異動;資料倉儲(Data Warehouse)則整合不同來源的資料,供歷史分析、報表與決策使用。兩者在資料用途、操作型態與效能需求上不同,因此通常分開建置。

解題方法

從「工作負載、資料特性、資料品質、系統影響」四個角度說明分離原因:

  1. 工作負載不同:營運系統以大量、短時間、頻繁的新增、修改、刪除與查詢為主,屬於 OLTP;資料倉儲以跨期間、跨主題的大量讀取與彙總分析為主,屬於 OLAP。
  2. 資料型態不同:營運系統著重目前狀態與交易細節;資料倉儲保留歷史資料,並整合不同系統、不同格式的資料。
  3. 資料處理不同:資料倉儲需經 ETL 進行擷取、清理、轉換與整合,通常會調整資料結構,以利分析。
  4. 可用性與資源不同:分析查詢可能大量耗用 CPU、記憶體與磁碟 I/O;若直接在營運系統執行,可能拖慢交易處理,影響日常服務。

分離的原因

一、避免分析作業影響交易效能

資料倉儲常執行跨資料表、跨年度的大型查詢、統計彙總及報表產製,耗用資源較多。若與營運交易共用系統,分析工作可能造成資源競爭,使交易回應時間變長,甚至影響訂單、付款等日常作業。分離後,可維持營運系統處理交易所需的效能與穩定性。

二、配合 OLTP 與 OLAP 不同的工作負載

營運系統主要處理 OLTP(線上交易處理),重視交易即時性、並行處理及資料一致性,常有大量小型讀寫操作。資料倉儲主要支援 OLAP(線上分析處理),重視大量資料的讀取、彙總與多維分析。

🔒

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

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

免費註冊

其他考古題