107 鐵路特考高員三級 資訊處理 資料庫應用 考古題詳解

107 年・鐵路特考・高員三級・資訊處理
試題代碼 資料庫應用

第 一 題20 分

檔案系統之後發展資料庫管理系統,請說明資料庫管理系統出現的主要緣由與主要議題。(10 分)

古典資料庫管理系統之後發展出 NoSQL 資料庫系統,請說明 NoSQL 資料庫系統出現的主要緣由與主要議題。(10 分)

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

這一題的完整詳解

核心觀念

本題為典型之「資料庫技術演進史與架構比較」申論題,命題核心在於評量考生對資料儲存架構兩次重大典範轉移(Paradigm Shift)的理解:

  1. 第一次轉移(檔案系統 →\to 資料庫管理系統 DBMS):
  • 核心定義:三層綱要架構(ANSI/SPARC Three-Schema Architecture)、資料獨立性(Data Independence)、交易之 ACID\text{ACID} 特性(Atomicity, Consistency, Isolation, Durability)。
  • 關鍵理論:檔案系統所面臨之程式與資料高度相依、資料重複與不一致性、缺乏統一之並行控制與故障復原機制。
  1. 第二次轉移(古典關聯式 DBMS →\to NoSQL 資料庫系統):
  • 核心定義:水平擴展(Scale-out)相對於垂直擴展(Scale-up)、無綱要(Schema-less / Dynamic Schema)。
  • 關鍵定理與模型:CAP\text{CAP} 定理(Consistency, Availability, Partition Tolerance)、PACELC\text{PACELC} 定理、BASE\text{BASE} 模型(Basically Available, Soft state, Eventual consistency)對比 ACID\text{ACID} 模型。

解題方法

國家考試申論題評分採「分項給分」,本題兩小題各佔 10 分,回答時應採取「結構化條列法」,將各小題清楚拆解為「主要緣由」與「主要議題」兩大構面,切入策略如下:

  1. 第一小題切入點:以「檔案處理系統(File-Processing System)之結構性缺陷」作為出現緣由;再以「DBMS 為了克服上述缺陷所發展出的系統層核心技術」作為主要議題。
  2. 第二小題切入點:以「Web 2.0、雲端運算與巨量資料(Big Data 3V:Volume, Velocity, Variety)對古典關聯式資料庫(RDBMS)造成的擴展極限」作為出現緣由;再以「分散式架構下的理論權衡(CAP/BASE)、資料模型多樣性與一致性保證」作為主要議題。
  3. 論述層次:每一點皆先標示「黑體關鍵詞小標」,緊接著以一至二句精準定義其技術機制,展現專門技術素養。

選項分析

本題為申論題,無客觀選項。為利考生掌握各世代儲存系統之技術代差與演進邏輯,特將三者之核心特徵對照分析如下:

評估維度檔案系統(File System)古典資料庫系統(RDBMS)NoSQL 資料庫系統
資料架構散置檔案,由各應用程式自行定義格式嚴謹結構(表格、正規化),固定綱要(Rigid Schema)多樣化模型(Key-Value, Document, Column, Graph),動態綱要(Schema-less)
資料獨立性極低(程式與資料高度相依)高(具備實體與邏輯資料獨立性)高(應用層直接處理彈性物件/資料結構)
事務保證無內建交易機制,須於應用層土法煉鋼強制遵循 ACID\text{ACID} 特性,強調強一致性(Strict Consistency)多遵循 BASE\text{BASE} 模型,追求最終一致性(Eventual Consistency)
擴展機制依賴單機作業系統檔案管理主要採垂直擴展(Scale-up,增加單機 CPU/RAM/SSD)原生支援水平擴展(Scale-out,節點叢集自動分片 Sharding)
查詢機制無統一語言,依賴自訂程式碼依序存取宣告式查詢語言(SQL),內建成本式查詢最佳化(CBO)API、專用查詢語法,多不支援跨節點複雜 JOIN

解題技巧

  1. 閱卷關鍵字佈局:
  • 第一小題必寫關鍵字:程式與資料相依(Program-Data Dependence)、資料重複性與不一致(Data Redundancy & Inconsistency)、資料獨立性(Data Independence)、ACID、並行控制(Concurrency Control)。
  • 第二小題必寫關鍵字:水平擴展(Scale-out)、巨量資料(3V)、動態綱要(Schema-less)、CAP 定理、BASE 模型、最終一致性(Eventual Consistency)、資料分片(Sharding)。
  1. 答題版面配置:
  • 本題共 20 分,考場標準作答篇幅約為 1.5 至 2 頁。
  • 嚴格控制配分比例:第一題佔 1 頁(緣由 4 點、議題 4 點),第二題佔 1 頁(緣由 4 點、議題 4 點),層次編號採用「一、(一) 1. (1)」格式,切忌寫成無分段的長篇散文。
  1. 避免常見陷阱:
  • 勿將 NoSQL 解釋為「完全不用 SQL 或完全否定關聯式」,其標準意涵為「Not Only SQL」,強調針對特定場景採用合適的資料模型。
  • 說明 CAP 定理時,必須強調在分散式網路環境下,網路分割(Partition Tolerance)為客觀現實,因此實務上系統是於一致性(CC)與可用性(AA)之間進行權衡(Trade-off)。

【答案】

一、資料庫管理系統(DBMS)出現之主要緣由與主要議題

(一) 主要緣由(檔案系統之缺陷)
  1. 資料重複與不一致性(Data Redundancy and Inconsistency):早期檔案系統由不同應用程式各自建立專用資料檔,導致相同資料重複儲存在多處;當進行更新時若未能同步修改所有檔案,將造成資料內容衝突與邏輯不一致。
🔒

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

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

免費註冊

第 二 題20 分

關聯式資料庫在新增(insert)和刪除(delete)時,為了維持關聯式資料庫狀態的一致性(integrity),各需先做哪些檢查?若不符合,有幾種處理的方法?

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

這一題的完整詳解

核心觀念

本題評量關聯式資料庫管理系統(RDBMS)中,資料異動操作(DML)如何維護資料庫一致性(Database Consistency)​與完整性限制條件(Integrity Constraints)。核心概念源自關聯式資料模型理論(Relational Model):

  1. 實體完整性(Entity Integrity):主鍵(Primary Key, PK)的屬性值必須唯一(Unique)且不得為空值(NOT NULL)。
  2. 參考完整性(Referential Integrity):外來鍵(Foreign Key, FK)的值必須參照關聯主檔中已存在的有效主鍵值,或在允許情況下設為空值(NULL)。
  3. 網域完整性(Domain Integrity):欄位屬性值必須落在定義的型態、格式、取值範圍(Range)及長度內,並遵循 NOT NULL 與 CHECK 限制。
  4. 鍵值唯一性(Key / Uniqueness Constraint):所有候選鍵(Candidate Key)或標註為 UNIQUE 的欄位值不得重複。
  5. 使用者自訂完整性(User-Defined Integrity):企業自訂之商業邏輯規則(透過 Assertion 或 Trigger 實現)。

解題方法

本題為高員三級標準申論題,答題架構應先明確拆解「新增(Insert)」與「刪除(Delete)」兩大操作對完整性的潛在衝擊與檢查項目,再系統性歸納「違反限制時的處理方法」(包含通用處理與 SQL 標準定義的參考動作)。

一、 新增(Insert)時的檢查項目

新增一筆元組(Tuple)可能同時破壞多項限制,系統依序需做以下檢查:

  1. 網域完整性檢查(Domain Integrity Check):
  • 檢查輸入資料的型態、長度、格式是否符合 Schema 定義。
  • 檢查是否有非空欄位(NOT NULL)被給予 NULL 值。
  • 檢查是否通過該欄位定義的 CHECK 條件。
  1. 實體完整性檢查(Entity Integrity Check):
  • 檢查新增資料的主鍵(PK)是否包含 NULL。
  • 檢查主鍵值是否已存在於該資料表中(主鍵唯一性重複檢查)。
  1. 唯一性限制檢查(Uniqueness Check):
  • 若資料表定義了其他候選鍵或 UNIQUE 限制,檢查新資料之相應屬性值是否與既有資料重複。
  1. 參考完整性檢查(Referential Integrity Check):
  • 若新增的資料表包含外來鍵(FK),檢查該外來鍵的值是否已存在於被參照資料表(Referenced Table)的主鍵中,或該外來鍵是否為合法允許的 NULL 值。
  1. 使用者自訂完整性檢查(User-Defined Integrity Check):
  • 觸發程序(Triggers)或整體宣告條件(General Assertions)之商業邏輯檢驗。

二、 刪除(Delete)時的檢查項目

刪除操作將資料自資料表中移除,不會破壞網域完整性、實體完整性或唯一性限制;其主要威脅在於關聯關係的斷鏈:

  1. 參考完整性檢查(Referential Integrity Check):
  • 系統必須檢查被刪除記錄的主鍵(或候選鍵)值,是否正被其他子資料表(Referencing Table)的外來鍵(FK)所參照引用。
  • 若存在子資料表引用該主鍵,直接刪除將導致子資料表產生「孤兒記錄(Orphan Records)」,破壞參考完整性。
  1. 使用者自訂完整性檢查(User-Defined Integrity Check):
  • 檢查是否有設定禁止刪除特定狀態資料之商業規則(如透過 INSTEAD OF DELETE 或 BEFORE DELETE 觸發程序所定義之限制)。

三、 不符合限制時的處理方法

當檢查發現違反完整性限制時,關聯式資料庫系統提供以下處理方法:

🔒

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

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

免費註冊

第 三 題40 分

假設有一關聯 R(A,B,C,D,E)R(A,B,C,D,E),其主鍵(primary key)係由 AA 與 BB 兩屬性(attributes)所組成,並已知關聯 RR 的 CC 與 EE 兩屬性間具有如下的功能相依:C→EC\to E(CC 屬性可以決定 EE 屬性)。

試問:

(一)若關聯 RR 未進行正規化之處理,則關聯 RR 在資料庫的使用上會有怎樣的問題存在?舉出資料實例加以說明。(20 分)

(二)請用關聯式資料庫正規型式處理這個問題。(10 分)

(三)請檢驗此更新過的綱要能否符合 BCNF(Boyce-Codd Normal Form),並陳述理由。(10 分)

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

這一題的完整詳解

核心觀念

本題的核心在於關聯式資料庫的正規化理論(Normalization Theory)、功能相依(Functional Dependency, FD)​與資料異常(Anomalies)。評量的核心知識點包含:

  1. 功能相依與鍵(Keys)的定義:
  • 主鍵(Primary Key, PK)為 {A,B}\{A, B\},故有非尋常相依(Non-trivial FD):{A,B}→C,D,E\{A, B\} \to C, D, E。
  • 題目給定相依:C→EC \to E。
  • 超鍵(Super Key):能唯一決定關聯中所有屬性的屬性集合。
  • 主屬性(Prime Attribute):包含於任一候選鍵中的屬性(此處為 A,BA, B);其餘為非主屬性(Non-prime Attribute,此處為 C,D,EC, D, E)。
  1. 正規型式(Normal Forms)判定標準:
  • 第一正規化(1NF):關聯中所有屬性的值皆為單一值(原子性,Atomic)。
  • 第二正規化(2NF):符合 1NF,且每個非主屬性皆「完全功能相依」(Fully Functionally Dependent)於候選鍵,即消除部分相依(Partial Dependency)。
  • 第三正規化(3NF):符合 2NF,且不存在非主屬性對候選鍵的「遞移相依」(Transitive Dependency)。形式定義為:對於關聯中所有非尋常相依 X→YX \to Y,必須滿足「XX 為超鍵」或「YY 為主屬性」。
  • BCNF(Boyce-Codd Normal Form):比 3NF 更嚴格。對於關聯中所有非尋常相依 X→YX \to Y,XX 必須為超鍵(不允許 YY 為主屬性的例外)。
  1. 未正規化造成的資料異常(Data Anomalies):
  • 資料重複(Data Redundancy)
  • 修改異常(Update Anomaly)
  • 新增異常(Insertion Anomaly)
  • 刪除異常(Deletion Anomaly)
  1. 無失真連接分解(Lossless-Join Decomposition):
  • 將關聯 RR 分解為 R1R_1 與 R2R_2,必須滿足 (R1∩R2)→(R1−R2)(R_1 \cap R_2) \to (R_1 - R_2) 或 (R1∩R2)→(R2−R1)(R_1 \cap R_2) \to (R_2 - R_1),以保證透過自然連接(Natural Join)能完全還原原始資料,不產生虛假元組(Spurious Tuples)。

解題方法

(一)未正規化存在之問題與資料實例說明

1. 現狀正規型式檢驗
  • 關聯 R(A,B,C,D,E)R(A, B, C, D, E) 的候選鍵/主鍵為 {A,B}\{A, B\}。
  • 屬性分類:
  • 主屬性:A,BA, B
  • 非主屬性:C,D,EC, D, E
  • 功能相依集合 F={{A,B}→C,D,E, C→E}F = \{\{A, B\} \to C, D, E,\ C \to E\}。
  • 2NF 檢驗:由於不存在 A→…A \to \dots 或 B→…B \to \dots 的部分功能相依,所有非主屬性皆完全依賴於主鍵 {A,B}\{A, B\},故關聯 RR 符合 2NF。
  • 3NF 檢驗:
  • 存在非尋常相依 C→EC \to E。
  • CC 不是 RR 的超鍵(CC 無法決定 A,B,DA, B, D)。
  • EE 不是主屬性(EE 不在候選鍵 {A,B}\{A, B\} 中)。
  • 由於 {A,B}→C\{A, B\} \to C 且 C→EC \to E(其中 C↛{A,B}C \not\to \{A, B\}),存在非主屬性對主鍵的遞移相依(Transitive Dependency)。因此,關聯 RR 未達 3NF。
2. 實體資料實例設計

為具體說明,將抽象屬性對應至常見的實務情境:

  • AA:學生編號(StudentID)
  • BB:課程代碼(CourseID)
  • CC:授課教師編號(TeacherID)
  • DD:學期成績(Score)
  • EE:教師研究室位置(Office)
AA(學生)BB(課程)CC(教師)DD(成績)EE(研究室)
s1s_1c1c_1t1t_185R101R_{101}
s2s_2c1c_1t1t_190R101R_{101}
s3s_3c1c_1t1t_178R101R_{101}
s1s_1c2c_2t2t_288R205R_{205}
3. 使用上存在的四大問題
  1. 資料重複(Data Redundancy):
  • 說明:每當有一位學生選修 c1c_1(由教師 t1t_1 授課),教師 t1t_1 的研究室 R101R_{101} 就必須重複儲存一次,浪費儲存空間。
  1. 修改異常(Update Anomaly):
  • 說明:若教師 t1t_1 的研究室從 R101R_{101} 搬遷至 R105R_{105},系統必須逐一修改所有包含 t1t_1 的資料列。若只更新了部分資料列(例如只更新第一列而漏改第二、三列),將造成同一位教師在資料庫中出現不同研究室的資料不一致現象。
  1. 新增異常(Insertion Anomaly):
  • 說明:若學校新聘一位教師 t3t_3(研究室為 R302R_{302}),但在尚未有學生選修該教師的課程之前,主鍵屬性 AA(學生)與 BB(課程)皆為空值(NULL)。根據關聯式資料庫的實體完整性限制(Entity Integrity Constraint),主鍵不得為空值,導致無法單獨新增教師與其研究室的對應資料。
  1. 刪除異常(Deletion Anomaly):
  • 說明:若選修課程 c2c_2 的學生 s1s_1 退選,資料庫將該筆元組(Tuple)刪除。
🔒

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

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

免費註冊

第 四 題20 分

區塊鏈(blockchain)是新興的資料庫態樣,請說明其主要特性。(10 分)

請分析提出如何將區塊鏈應用於改善鐵路售票系統。(10 分)

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

這一題的完整詳解

核心觀念

  1. 區塊鏈的資料庫本質:區塊鏈本質上是一種分散式、僅能追加(Append-Only)、具備密碼學安全保證與拜占庭容錯能力的新興分散式帳本資料庫(Distributed Ledger Database)。與傳統由資料庫管理員(DBA)集中管理的關聯式資料庫(RDBMS)相比,其狀態轉移仰賴去中心化節點間的共識協定驅動。
  2. 鐵路售票業務痛點:傳統鐵路售票系統常見問題包括黃牛程式掃票囤積、二手票券轉售真偽難辨、跨運具(如鐵路、捷運、客運)聯票清分結算耗時繁複、內部票務異動審計困難,以及節慶尖峰時段高併發(High Concurrency)交易造成的系統瓶頸。
  3. 技術落地評估:鐵路售票具備高交易輸送量(TPS)需求,因此技術評估應排除交易延遲高、手續費昂貴的「公有鏈」,而採用權限受控的「聯盟鏈(Consortium Blockchain)」搭配「鏈下快速撮合、鏈上存證結算」的混合架構。

解題方法

  1. 第一子題(特性說明,10 分):
  • 從資料結構、資料庫存取控制、一致性協定、密碼學應用及可程式化邏輯五個維度,嚴謹說明區塊鏈的核心技術特徵。
  • 需點出關鍵技術名詞(如分散式帳本、SHA-256 雜湊鏈結、Merkle Tree、共識機制、智慧合約、Append-only)。
  1. 第二子題(鐵路應用分析,10 分):
  • 針對鐵路售票具體情境,避免空泛宣傳區塊鏈,須提出務實的系統改善方案。
  • 分為四個核心面向切入:票券數位資產化(防偽)、智慧合約控管二手轉讓(防黃牛)、跨運具多方清分(自動對帳)、雙層架構設計(兼顧效能與可擴展性)。

選項分析

本題為申論題,無選擇題選項。作答時須採階層式列點標題,條理分明,展現資料庫架構師與交通領域業務分析的整合能力。


解題技巧

  1. 切中業務痛點:第二子題若僅回答「去中心化、不易當機」,分數難以突出;必須緊扣「鐵路」專屬情境(如春節搶票、黃牛退轉票、異質運具拆帳)。
  2. 防範效能陷阱:公務人員考試強調技術可行性,若盲目提出「每筆購票都上公有鏈(如 Bitcoin、以太坊)驗證」,會因 TPS 過低(約 7~30 TPS)被扣分。務必強調採用聯盟鏈(Consortium Blockchain)​與鏈上鏈下混合設計(Off-chain matching, On-chain settlement)。
  3. 關鍵字覆蓋率:閱卷老師評閱標準在於關鍵詞,作答須涵蓋:分散式帳本(DLT)、密碼學雜湊(Hash)、不可竄改性(Immutability)、共識機制、智慧合約(Smart Contracts)、數位身分識別(DID)。

【答案】

一、區塊鏈之核心特性分析(10 分)

區塊鏈係一種整合點對點網路(P2P)、密碼學技術、共識演算法與智慧合約的新型分散式帳本資料庫,其主要特性如下:

  1. 去中心化與分散式儲存(Decentralization & Distributed Ledger): 資料分散儲存於網路各參與節點,無單一中央伺服器或主控權限,消除單點故障(Single Point of Failure, SPOF)風險;所有節點共同保存帳本完整副本。
  2. 密碼學鏈結與不可竄改性(Cryptographic Linking & Immutability):
🔒

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

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

免費註冊

其他考古題