資料庫應用 申論題歷屆試題與參考架構

高考三級,民國 102~115 年共 14 份試卷、62 題,其中 54 題附參考答題架構。考這一科的類科:資訊處理。本頁列出歷年全部題目,參考架構只列開頭的「破題」,完整的答題架構、關鍵字與作答提醒請到站內查看。

▶ 看完整參考架構(資料庫應用)

115 年(考試時間 120 分鐘) 原卷 PDF

  1. 1

    隨著資安威脅與法規合規性(如 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 分)

    (25 分)

    參考架構・破題

    本題由關聯綱目反推 ER 模型,再用 SQL 完成條件彙總、多表連結與新增資料。關鍵在看懂外來鍵代表的基數,以及用 CASE WHEN 做條件計數。

    完整答題架構與關鍵字:到站內看全文

  2. 2

    某機構資料庫有以下兩張 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 分)

    (25 分)

    參考架構・破題

    先算出兩表的區塊數,再代入題目給的三個公式。本題關鍵是小表 C 只有 20 個區塊,剛好等於 M-2,整張可一次放進緩衝區。

    完整答題架構與關鍵字:到站內看全文

  3. 3

    假設資料庫中有三個資料項(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 分)

    (25 分)

    參考架構・破題

    依嚴格兩階段鎖定與鎖升級規則,逐一判斷每個請求能否取得鎖;S 與 S 相容、S/X 與 X 互斥。最後畫等待圖找循環,再說明鎖定點。

    完整答題架構與關鍵字:到站內看全文

  4. 4

    BASE 原則(BASE Properties)與 CAP 定理(CAP Theorem)常見於在分散式系統(Distributed Systems)與分散式資料庫的架構設計中,請回答以下問題:

    (一)解釋 BASE 原則。 (10 分)

    (二)解釋 CAP 定理。(10 分)

    (三)在分散式資料庫中,CAP 是一項限制,為何一個分散式資料庫不可能同時滿足 CAP?(5 分)

    (25 分)

    參考架構・破題

    本題聚焦於分散式資料庫之架構權衡與一致性模型,評量考生對 CAP 定理本質限制與 BASE 最終一致性架構設計的理解與應用能力。

    完整答題架構與關鍵字:到站內看全文

114 年(考試時間 120 分鐘) 原卷 PDF

  1. 1

    說明下列 EER 模型(Enhanced Entity Relationship)的四個構成要素,並各舉一個具體例子說明其在真實世界中的應用⑴Entity, ⑵Attribute,

    ⑶Relationship, ⑷Supertype/Subtype。(20 分)

    (20 分)

    參考架構・破題

    本題測驗概念資料塑模能力,考生應清楚闡述延伸個體關係模型(EER Model)中四大塑模構成要素的定義、功能及其在實務資料庫設計中的對應實例。

    完整答題架構與關鍵字:到站內看全文

  2. 2

    請說明下列兩種事務隔離級別的差異,並針對每種隔離級別各舉一個可能造成資料不一致的實際情境:⑴Read Committed, ⑵Repeatable Read。(10 分)此外,請說明為何某些資料庫系統預設使用 Read Committed 而非Serializable。(10 分)

    (20 分)

    參考架構・破題

    本題考查關聯式資料庫交易管理中的 ANSI SQL 隔離層級、並行異常現象以及系統在資料一致性與高並行效能之間的工程權衡。

    完整答題架構與關鍵字:到站內看全文

  3. 3

    根據下列客戶訂單資料回答相關查詢SQL敘述,資料表格為:Customer(CID, Name), Orders(OID, CID, TotalAmount, OrderDate), Payment(PID, OID, AmountPaid)。(每小題 10 分,共 30 分)

    (一)在 OrderDate 為“2025.01.01”當天,所有客戶訂單總量排行,依總量由高到低列出客戶姓名與總量。

    (二)找出截至 2025.01.01,曾有付款行為且總付款金額超過 10,000 的客戶姓名與其總付款金額。

    (三)所有訂單但付款金額(AmountPaid)總和不足訂單金額(TotalAmount)的客戶名稱與欠款金額,並以欠款金額由高至低排序。

    (30 分)

    參考架構・破題

    本題考查關聯式資料庫標準 SQL 語法的多表連接、條件過濾、群組彙總與子查詢排序應用,重點在於正確處理一對多連接之重複計算陷阱。

    完整答題架構與關鍵字:到站內看全文

  4. 4

    請說明資料庫交易處理中的 ACID 意義與其四大性質(Atomicity, Consistency, Isolation, Durability)分別意義為何, (15 分)並針對下列交易衝突情境,指出可能違反的 ACID 性質與造成的後果,情境:T1 在更新帳戶 A 餘額後尚未提交(commit) ,T2 同時讀取帳戶 A 的餘額並執行轉帳。(15 分)

    (30 分)

    參考架構・破題

    本題測驗關聯式資料庫交易的核心特性(ACID)定義,以及並行交易在缺乏適當隔離控制時所引發的並行衝突(髒讀/未提交相依)與後續危害分析。

    完整答題架構與關鍵字:到站內看全文

113 年(考試時間 120 分鐘) 原卷 PDF

  1. 1

    資料模型(Data Model)是用來描述資料的性質與資料之間的關係,個體關係模型(Entity-Relationship Model, ER Model)是最常用的資料模型。延伸個體關係模型(Enhanced Entity-Relationship Model, EER Model)的塑 模 概 念 ( Modeling Constructs ) 主 要 包 括 個 體 ( Entity )、 關 係(Relationship)、屬性(Attribute)及父子型態關係(Supertype/Subtype Relationship)四種,請分別定義這四種塑模概念並舉例說明。(20 分)

    (20 分)

    參考架構・破題

    本題測驗延伸個體關係模型(EER Model)四大核心塑模構件之定義、本質特性與實務範例,需突顯其相較於傳統 ER 模型在物件導向概念與階層分類上的強化塑模能力。

    完整答題架構與關鍵字:到站內看全文

  2. 2

    某醫院的關聯式資料庫綱要(Relational Database Schema)包括下列兩個表格:表格一為住院病患,包括病患編號、病患姓名、病房編號、護理師編號四個欄位,病患編號為主鍵;護理師編號為外來鍵。表格二為護理師,包括護理師編號、護理師姓名、月薪三個欄位;護理師編號為主鍵。對於下列三個查詢問題,請各寫出一個 SQL SELECT 指令。

    (一)列出月薪高於 45,000 元的每一位護理師之護理師編號與月薪。 (10 分)

    (二)列出有照顧住在病房編號‘8F12’的病患之護理師姓名。(10 分)

    (三)列出每一位有照顧病患的護理師編號與照顧人數。 (10 分)

    (30 分)

    參考架構・破題

    本題測驗關聯式資料庫基礎 SQL 查詢指令之撰寫能力,涵蓋單表數值條件過濾、跨表格外來鍵連接(JOIN)與去重、以及群組分組聚合計算(GROUP BY / COUNT)。

    完整答題架構與關鍵字:到站內看全文

  3. 3

    一個關聯式資料庫表格的綱要如下所示:T (A, B, C, D, E) T 為表格名稱,A、B、C、D、E 為表格的五個屬性,{A, B}與{A, C}為表 格 的 兩 個 候 選 鍵 。 另 外 , 此 表 格 有 下 列 功 能 相 依 ( Functional Dependency):{A, B}  {D, E}、{A, C}  {D, E}、{B}  {C}

    (一)請問表格 T 為第幾正規型式(Normal Form)?請說明原因。(15 分)

    (二)若表格 T 不是適當的正規型式(換言之,可能會有重複的資料) ,請將該表格正規化(Normalization),分解成若干個適當正規型式的表格。請寫出每一個表格的綱要,包括表格名稱、屬性、主鍵以及外來鍵(假設有外來鍵的話) 。(15 分)

    (30 分)

    參考架構・破題

    先找出主要屬性(A、B、C)與非主要屬性(D、E),再逐級檢查 2NF、3NF、BCNF。關鍵是 {B}→{C} 的右邊 C 是主要屬性,所以不違反 3NF,但 B 不是超鍵而違反 BCNF。

    完整答題架構與關鍵字:到站內看全文

  4. 4

    資料倉儲(Data Warehouse)的多維度資料模型(Multidimensional Data Model)以資料方塊(Data Cube)的形式來檢視資料,在資料方塊上的操作稱為線上分析處理(Online Analytical Processing,簡稱 OLAP),典型的 OLAP 操作主要包括向下鑽取(Drill Down) 、向上鑽取(Drill Up)、切片(Slice)及切塊(Dice)四種,請分別定義這四種 OLAP 操作並舉例說明。(20 分)

    (20 分)

    參考架構・破題

    本題測驗資料倉儲中多維度資料模型與 OLAP 操作核心概念,考生須清楚定義四種檢視資料方塊維度的操作方式與層次轉換邏輯,並輔以具體商業分析場景。

    完整答題架構與關鍵字:到站內看全文

112 年(考試時間 120 分鐘) 原卷 PDF

  1. 1

    國立ABC大學的校務行政電腦化,其中有關教務資料,擬採用資料庫系統,經系統分析後,得到如下需求(Requirements):ABC大學由許多學系(DEPARTMENT)組成,每一學系有系代碼(DeptId)與系名稱(DeptName),系代碼可區別不同學系。各學系會開許多課程(COURSE) ,每一課程有課程代碼(CrsId) 、課程名稱(CrsName)、課程說明(CrsDescrip)與課程學分數(CrsCredit) ,課程代碼可區別不同課程。每一學系有許多學生(STUDENT) ,每個學生有學生代碼(StudId) 、學生姓名(StudName)與學生電子信箱(StudEmail) ,有學生會有多個電子信箱,學生代碼可區別不同學生。每一學系由許多教授(PROFESSOR)組成,每一教授有教職員工代碼(Prof Id)、姓名(Prof Name)與職稱(Prof Rank),教職員工代碼可區別不同教授。每個學系會開授許多課程,每一課程僅由一學系開授。每個學系會有許多學生,每一學生僅隸屬於一學系。每個學系會有許多教授,每一教授僅隸屬於一學系。每一教授可以開授許多門課程,每一門課程僅由一個教授開授。每一學生可以修習許多課程,每一課程也可由許多學生來修習,每一學生修習的課程有一成績(Grade)。請設計此教務關聯式資料庫綱要(Relational Database Schema),並標示出此資料庫關聯(Relations)的主鍵(Primary Key)與外來鍵(Foreign Key)。(25分)

    (25 分)

    參考架構・破題

    本題是需求轉關聯綱要:先找實體與屬性,再依 1:N、M:N 與多值屬性決定外來鍵放哪裡、是否要另開表格。

    完整答題架構與關鍵字:到站內看全文

  2. 2

    給 予 一 關 聯 綱 要 EMP-DEPT ( EmpId, EmpName, EmpBdate, EmpAddr,,主鍵(Primary Key)為{EmpId},此關聯DeptNum, DeptName, DmgrId)綱要記錄員工參與部門的相關資料,員工有員工編號(EmpId)、員工姓名(EmpName)、員工生日(EmpBdate)與員工地址(EmpAddr),部門有部門編號(DeptNum) 、部門名稱(DeptName)與部門經理編號(DmgrId) ,而 且 給 予 一 組 功 能 依 附 性 ( Functional Dependencies ) {{EmpId} → {EmpName, EmpBdate, EmpAddr},{DeptNum}→{DeptName, DmgrId}},關聯綱要EMP-DEPT是否為2NF?如不是,請將EMP-DEPT正規化至2NF,然後正規化至3NF,並論述分割(Decompose)的理論基礎。 (25分)

    (25 分)

    參考架構・破題

    本題檢驗關聯式資料庫正規化理論,核心在於依據主鍵結構判斷部分函數相依與傳遞相依,並以無損連接與保持函數相依之理論基礎執行模式分解。

    完整答題架構與關鍵字:到站內看全文

  3. 3

    給予下列二個行程(Schedules)A與B,請用一圖形演算法,利用行程中的讀(Read)與寫(Write)動作(Operations)構成圖形,圖形邊(Edge)上標示讀寫的資料項目(Data Items),以此演算法論述A與B兩行程是否具序列性(Serializability)?如具序列性,請寫出對等序列行程(Equivalent Serial Schedule)。(25分)(a) transaction T1 transaction T2 transaction T3 read(Z); read(Y); write(Y); read(Y); Time read(Z); read(X); write(X); write(Y); write(Z); read(X); read(Y); write(Y); write(X); Schedule A (b) transaction T1 transaction T2 transaction T3 read(Y); read(Z); read(X); write(X); write(Y); Time write(Z); read(Z); read(Y); write(Y); read(Y); write(Y); read(X); write(X); Schedule B

    (25 分)

    參考架構・破題

    本題測驗並行交易行程之衝突序列性(Conflict Serializability)檢驗,核心在於利用優先順序圖(Precedence Graph)演算法,針對衝突操作繪製有向邊並透過環路偵測判定序列性及對等序列。

    完整答題架構與關鍵字:到站內看全文

  4. 4

    分散式資料庫為一個分散在電腦網路的許多在邏輯上相關資料庫的集合,請畫出分散式資料庫系統三層主從伺服器架構(Three-tier Client-server,並論述其運作原理,分散資料的管理具有不同層次(Levels)Architecture)的透明度(Transparency),請論述三種透明度及相關技術。(25分)

    (25 分)

    參考架構・破題

    本題測驗分散式資料庫系統之實體架構與透明度管理,核心在於三層主從架構之職責分工與運作原理,以及遮蔽底層物理分散細節的三大透明度層次與關鍵技術。

    完整答題架構與關鍵字:到站內看全文

111 年(考試時間 120 分鐘) 原卷 PDF

  1. 1

    某一家高科技公司的關聯式資料庫包含員工、產品及研發三個表格。員工表格記錄員工基本資料,包含員工編號、員工姓名;產品表格記錄產品基本資料,包含產品編號、產品名稱、產品價格;研發表格記錄那些員工參與研發那些產品的資料。這三個表格的關聯綱要(Relational Schema)如下所示:員工(員工編號、員工姓名)產品(產品編號、產品名稱、產品價格)研發(員工編號、產品編號)加底線的屬性為該表格之主鍵;例如,研發表格之主鍵為員工編號與產品編號兩個屬性的組合。研發表格有員工編號與產品編號兩個外來鍵,分別參照員工表格的主鍵員工編號與產品表格的主鍵產品編號。請針對下列三個查詢問題,各寫出一個 SQL 指令來進行查詢。(每小題 10 分,共 30 分)

    (一)列出價格介於 10000 與 20000 之間(含 10000 與 20000)的每一種產品之產品編號與產品名稱。

    (二)列出參與研發產品編號為‘P003’的產品的所有員工之姓名(姓名不要重複)。

    (三)列出參與研發超過 5 種產品的員工之員工編號。

    (30 分)

    參考架構・破題

    三小題分別考範圍條件、多表連結去除重複、分組計數篩選,各寫一個 SQL 指令。

    完整答題架構與關鍵字:到站內看全文

  2. 2

    擴充實體關係模型(Extended Entity-Relationship Model, EER Model)中的父子型態關係(Supertype/Subtype Relationship)需要宣告兩個主要的限制:完整性限制(Completeness Constraint)與互斥性限制(Disjointness Constraint)。(每小題 10 分,共 20 分)

    (一)完整性限制宣告父型態的一個實例是否必須屬於至少一個子型態,有兩種可能:完全特殊化(Total Specialization)與部分特殊化(Partial Specialization),請分別定義之。

    (二)互斥性限制宣告父型態的一個實例是否可以同時屬於多個子型態,有兩種可能:互斥(Disjoint)與重疊(Overlap) ,請分別定義之。

    (20 分)

    參考架構・破題

    本題測驗延伸實體關係模型(EER Model)中父子型態結構限制,重點在於精確掌握完整性限制(完全 vs 部分)與互斥性限制(互斥 vs 重疊)的語意定義、圖形符號表示與實務範例。

    完整答題架構與關鍵字:到站內看全文

  3. 3

    Z(P, Q, R, S)是一個關聯式資料表(Relational Table)的綱要,Z 為資料表的名稱,P、Q、R、S 為資料表的四個屬性,P 為資料表的主鍵與唯一的候選鍵。此外,該資料表有下列功能相依: (每小題 15 分,共 30 分)P  Q, R, S QS

    (一)資料表 Z 符合第幾正規型式?原因為何?

    (二)將資料表 Z 正規化到適當的正規型式,寫出正規化之後每一個資料表的綱要,包括資料表的名稱、屬性、主鍵及外來鍵(如果有的話) 。

    (30 分)

    參考架構・破題

    功能相依為 P→Q, R, S 與 Q→S(轉檔遺失箭頭,依題意推斷)。主鍵只有單一屬性 P,必然沒有部分相依;但 P→Q→S 形成遞移相依,因此只到 2NF。

    完整答題架構與關鍵字:到站內看全文

  4. 4

    機器學習(Machine Learning)主要任務可區分為監督式學習(Supervised,監督式學習包括分Learning)與非監督式學習(Unsupervised Learning)類(Classification)與迴歸(Regression),非監督式學習最常用的是分群(Clustering)。(每小題 10 分,共 20 分)

    (一)分類與迴歸要預測的值最主要的差異為何?

    (二)分類與分群所分析的資料最主要的差異為何?

    (20 分)

    參考架構・破題

    本題測驗機器學習基礎核心任務之本質差異,考生須從預測目標變數之數學型態(離散類別 vs 連續數值)以及分析資料是否具備標籤(Labeled vs Unlabeled)深入解析。

    完整答題架構與關鍵字:到站內看全文

110 年(考試時間 120 分鐘) 原卷 PDF

  1. 1

    假設在某關聯式資料庫(Relational database)中,資料庫管理者(Database Administrator, DBA)執行如下之 SQL 指令以定義 CUSTOMER 和PURCHASE 兩個表格:create table CUSTOMER (cid char(2), name varchar(10), city varchar(10), primary key(cid)); create table PURCHASE (cid char(2), mid char(2), amount integer, primary key (cid, mid), foreign key(cid) references CUSTOMER);若使用者依序執行下列六個 SQL 指令, 指令一:insert into CUSTOMER values (‘C1’, ‘John’, ‘Taipei’);  指令二:insert into PURCHASE values (‘C1’, ‘M1’, 10);  指令三:insert into CUSTOMER values (‘C1’, ‘Mary’, ‘Taichung’);  指令四:insert into PURCHASE values (‘C1’, ‘M2’, 1);  指令五:update CUSTOMER set cid = ‘C2’ where cid = ‘C1’;  指令六:delete from PURCHASE where cid = ‘C1’;請針對指令三至指令六此四個指令,分別說明其執行之後所產生的效果,並加以解釋之。舉例來說,若某指令可順利執行,請說明是那些表格受到影響,並詳述更新後的表格內容。反之,則請說明是表格定義中的那項限制,導致該指令無法順利更新表格內容。(20 分)

    (20 分)

    參考架構・破題

    逐一追蹤表格內容,檢查主鍵限制(實體完整性)與外來鍵限制(參考完整性)。外來鍵沒有宣告 ON UPDATE/ON DELETE,採預設 NO ACTION(拒絕)。

    完整答題架構與關鍵字:到站內看全文

  2. 2

    假設關聯式資料庫中定義三個表格,其中 CUSTOMER 表格記錄顧客基本資料,包含顧客編號(Cid) 、姓名(Name)和所居住的城市(City);MERCHANDISE 表格記錄貨品基本資料,包含貨品編號(Mid)和價格(Price);PURCHASE 表格則為購買資料,記錄了某位顧客(Cid)於某日(Date)購買某個貨品(Mid)的數量(Amount) 。在這些表格的欄位中,除了價格和數量二者為數值型態的屬性,其餘皆為字串型態。此三個表格的綱要簡列如下,且每個表格的主鍵以底線標註:CUSTOMER(Cid, Name, City) MERCHANDISE(Mid, Price) PURCHASE(Cid, Mid, Date, Amount)請根據以下兩個資訊需求分別寫出對應的 SQL 查詢指令,注意每個小題皆各自對應到單一的 SQL 查詢句,但是可以使用子查詢句(Subquery)或類似功能的寫法。

    (一)請問所有住在臺北市的顧客,總共花了多少錢在購買物品上?(10 分)

    (二)試找出那些顧客購買貨品編號“M1”的總數量,超過編號“C2”顧客購買貨品編號“M1”的總數量,並輸出那些顧客的編號。(10 分)

    (20 分)

    參考架構・破題

    本題測驗關聯式資料庫的多表連接整合查詢與巢狀子查詢(Subquery)應用,考查跨表格金額計算(數量乘單價之加總)以及分組過濾結合標量子查詢的比對技巧。

    完整答題架構與關鍵字:到站內看全文

  3. 3

    假設某公司欲建立一個關聯式資料庫系統,以管理內部員工使用公務車輛的狀況,該公司並限制一個員工在一天之內最多只能借用一部車輛。假設表格定義為 UNIVERSAL(Tag, Year, ID, Title, Date),其內每一筆資料列(Tuple)記錄了某部車輛的車牌(Tag)和購買年份(Year) ,使用該台車輛的員工編號(ID)和職稱(Title) ,以及使用的日期(Date) 。請針對此表格的 5 個屬性,列出三個合理且有意義(Non-Trivial)的函數相依式(Functional Dependency),並針對所列出的每一項式子,解釋其合理性或詳述其所代表的限制。接著根據你所列出的函數相依式,分析此 UNIVERSAL 表格,是否符合 BCNF 正規化格式(Boyce-Codd Normal Form)。(20 分)

    (20 分)

    參考架構・破題

    本題測驗關聯式資料庫中根據實務業務限制推導函數相依性(FD)之能力,並透過屬性閉包推導候選鍵,進而依據決定項是否為超鍵嚴格檢驗是否符合 BCNF。

    完整答題架構與關鍵字:到站內看全文

  4. 4

    資料庫系統中,經常使用「鎖」 (Lock)的機制來進行交易處理(Transaction,而該機制允許某個資Processing)中的併行控制(Concurrency Control)料項目(Data Item)被「共享鎖」 (Shared Lock)或「排他鎖」 (Exclusive Lock)鎖定。請問這兩種不同鎖定的模式,對一個資料項目的使用方式所造成的限制各自為何?另外,資料項目可以小到一筆資料列(Tuple)或紀錄(Record) ,也可以大到涵蓋一整個表格或資料庫。請分析資料項目的大小對系統的效能影響為何?(20 分)

    (20 分)

    參考架構・破題

    本題測驗交易並行控制中的鎖定機制(Lock-based Concurrency Control)與鎖定粒度(Lock Granularity)原理,著重於鎖定模式相容性及其對系統並行度與管理負載的權衡分析。

    完整答題架構與關鍵字:到站內看全文

  5. 5

    假設在某個 MongoDB 的資料庫中,有個 Collection 叫做“student”,其中每個物件表示學生的編號(_id) 、姓名(name)包含名(first)和姓(last)以及就讀的學系名稱(department)。一個範例物件以 JSON 格式表示如下所列:{"_id": "1", "name": { "first": "Ted", "last": "Codd" }, "department": "CS" }請以 Mongo 語法,依序寫出符合下述要求的指令:

    (一)找出姓為“Codd”的學生,並限定只輸出第一位。(10 分)

    (二)刪除所有就讀“CS”系的學生資料。(10 分)

    (20 分)

    參考架構・破題

    本題測驗 NoSQL 文件型資料庫 MongoDB 的 CRUD 查詢與刪除語法,重點在於巢狀嵌入式文件(Embedded Document)的點標記法(Dot Notation)查詢以及批次刪除語法的精準撰寫。

    完整答題架構與關鍵字:到站內看全文

109 年(考試時間 120 分鐘) 原卷 PDF

  1. 1

    某一家圖書公司的關聯式資料庫(Relational Database)包含了作者、圖書及寫書三個表格(Table) 。作者表格記錄作者的編號與姓名;圖書表格記錄圖書編號、書名、西元出版年份(例如,2018) 、銷售數量(例如,5000);寫書表格記錄作者與圖書的關係,為多對多的關係。這三個表格的關聯綱要(Relational Schema)如下所示:作者(作者編號、作者姓名)圖書(圖書編號、書名、出版年份、銷售數量)寫書(作者編號、圖書編號)有底線的屬性(Attribute)為該表格之主鍵(Primary Key);例如,寫書表格之主鍵為作者編號與圖書編號兩個屬性的組合。寫書表格有作者編號與圖書編號兩個外來鍵,分別參照作者表格與圖書表格的主鍵。針對下列三個查詢問題,請各寫出一個SQL指令來進行查詢。

    (一)列出2015至2019這五年內出版的每一本圖書之圖書編號與書名。 (10分)

    (二)列出寫過一本以上的書的每一位作者之作者編號。 (10分)

    (三)列出寫過的書之總銷售數量超過十萬本的每一位作者之作者姓名。 (10分)

    (30 分)

    本題含圖表或公式,請對照原卷 PDF。

  2. 2

    實體關係模式(Entity-Relationship Model)包含了實體(Entity)、關係(Relationship)及屬性(Attribute)三個主要的觀念,其中屬性又分為許多種。

    (一)請定義與區別「必須的屬性」 (Required Attribute)與「非必須的屬性」(Optional Attribute)。(10分)

    (二)請定義與區別「單值屬性」(Single-valued Attribute)與「多值屬性」(Multivalued Attribute)。(10分)

    (20 分)

    參考架構・破題

    本題應以「一個實體出現值在某屬性上允許的值數與是否可缺」為主軸;Required/Optional談有無值的最低基數,Single-valued/Multivalued談同一時點最多可有幾個值,兩組分類不可混為一談。

    完整答題架構與關鍵字:到站內看全文

  3. 3

    正規化理論(Normalization Theory)中包含了「第一正規型式」 (First Normal、Form, 1NF)「第二正規型式」 (Second Normal Form, 2NF)及「第三正規型式」(Third Normal Form, 3NF)等正規型式(Normal Form),請說明一個關聯(Relation)要屬於各個正規型式分別需要符合那些條件。(30分)

    (30 分)

    參考架構・破題

    正規化應先列出候選鍵與功能相依,再逐級檢查;三種正規型式具有包含關係,後一層必先滿足前一層,目的在降低重複資料及新增、刪除、修改異常。

    完整答題架構與關鍵字:到站內看全文

  4. 4

    線上分析處理(On-Line Analytical Processing, OLAP)為資料倉儲系統中主要的資料分析方式,其中包括向下鑽取(Drill Down)與向上鑽取(Drill Up)兩種運算。請分別針對這兩種OLAP運算,首先說明其運算方式,然後舉例說明其可能的應用方式。(20分)

    (20 分)

    參考架構・破題

    向下鑽取與向上鑽取是在 OLAP 多維立方體中,沿維度階層改變觀察粒度的相反運算;作答要同時交代粒度、彙總程度、資料量及具體分析情境。

    完整答題架構與關鍵字:到站內看全文

108 年(考試時間 120 分鐘) 原卷 PDF

  1. 1

    資料模式(Data Model)很多,就其特性大致可以歸類為三類:高階(High-Level, 或觀念(Conceptual))資料模式、低階(Low-Level, 或實 體 ( Physical )) 資 料 模 式 、 表 示 ( Representational, 或 實 作(Implementation))資料模式。請分別說明這三類資料模式為何?並為每一類資料模式各舉至少 2 個資料模式的例子。 (20 分)

    (20 分)

    參考架構・破題

    三類資料模式的差異在抽象層次與使用者:高階模式表達真實世界語意,表示模式描述 DBMS 可直接實作的邏輯結構,低階模式則說明資料在儲存媒體上的配置與存取方式。

    完整答題架構與關鍵字:到站內看全文

  2. 2

    某出版社要用關聯式資料模式建立可記錄其出版書籍的資料庫,設計了包 括 可 記 錄 書 籍 的 資 料 表 ( Table ) BOOK 及 記 錄 作 者 的 資 料 表AUTHOR。BOOK 中包含 BookId(書籍編號) 、Title(書名)、PubDate(出版日期) 、Category(分類)等屬性(Attribute)欄位,且 BookId 是其主鍵(Primary Key, PK) ;AUTHOR 中包含 AuthId(作者編號) 、Name(姓名) 、Birthday(出生年月日)、Tel(電話)等屬性欄位,且 AuthId是其主鍵。即資料庫中包含BOOK(BookId, Title, PubDate, Category)AUTHOR(AuthId, Name, Birthday, Tel)兩個資料表。請依序回答下列問題:

    (一)如果每本書可以有好幾位作者,每一位作者也可以出版好幾本書,請對前項資料庫設計進行增修,使得出版社的資料庫可記錄每本書的作者,也可記錄每個作者所出版的書。作答時可仿效題目的描述方式說明您的設計,注意必須以英文命名明確表達資料表名稱及屬性欄位名稱,並明確指出主鍵及外來鍵(Foreign Key, FK) ,外來鍵並須指出與其對應的主鍵。(10 分)

    (二)承續並運用前一子題之資料庫增修,請寫出可查得屬於「’資料庫’」分類(Category)的所有書籍之 SQL 命令,此命令必須列出書籍的BookId, Title 及作者人數,並依 BookId 由小而大依序列出。 (15 分)

    (三)請運用子題(一)之資料庫增修寫出可查得曾經與名字叫「’張山峰’」的作者共同著作過的作者之 SQL 命令,列出其姓名及電話。(15 分)

    (40 分)

    參考架構・破題

    BOOK 與 AUTHOR 是多對多關係,必須以交接表化解;後兩小題都以該交接表為核心,分別做彙總計數及同書作者的自我連接。

    完整答題架構與關鍵字:到站內看全文

  3. 3

    某企業要建立自己的電子商務平台銷售自家商品,分析統整所有商品後,將商品分為若干大分類,每一大分類又分為若干次分類,每一次分類又分為若干細分類。假設此分類系統非常理想,每一個細分類號都是唯一的,且不會有同一個細分類同屬於不同次分類的情形;每一個次分類號也都唯一,且不會有同一個次分類同屬於不同大分類的情形,一個商品也只會歸類為單一細分類,不會同時歸類到不同細分類。依據這樣的分類系統,該公司的資料庫設計師設計出關聯式資料庫的資料表PRODUCT 來儲存所有商品的資料,其中包含 MajorCate(大分類號) 、SubCate(次分類號) 、FineCate(細分類號) 、SeqNo(商品編號) 、ProdName(商品名稱) 、Price(單價) ,且任何一個商品的 MajorCate、SubCate、FineCate 所代表的該商品的各級分類號都是明確的,SeqNo 是商品所屬細分類之流水號,在同一細分類中不會重複,但在不同細分類間會有相同的 SeqNo。並以(MajorCate, SubCate, FineCate, SeqNo)為主鍵。也就是資料表 PRODUCT 為PRODUCT(MajorCate, SubCate, FineCate, SeqNo, ProdName, Price)請檢視此一設計,指出其設計錯誤或不良之處,並在不更動屬性設計的前提下修正之。(20 分)

    (20 分)

    參考架構・破題

    題目給定各級分類號皆全域唯一,因此 MajorCate、SubCate 在識別商品時是冗餘鍵欄;真正能唯一且最小地識別商品的是 FineCate 與該細分類內的 SeqNo。應先以功能相依證明,再修正主鍵,並指出分類重複所造成的正規化問題。

    完整答題架構與關鍵字:到站內看全文

  4. 4

    兩階段鎖定(Two-Phase Locking)技術可以用來做並行控制(Concurrency Control),請詳細說明符合兩階段鎖定協定的交易應遵循的規範為何?時程(Schedule)是指多個交易(Transaction)並行(Concurrency)執行時,各交易內的操作(Operation)間的執行順序。請以此觀點說明若所有交易都遵循兩階段鎖定協定撰寫,則這些交易並行執行時,時程必定是什麼時程?並說明為何遵循這種時程執行可以達到並行控制的目的?(20 分)

    (20 分)

    參考架構・破題

    兩階段鎖定以每一交易的「鎖成長期」與「鎖收縮期」限制加鎖、解鎖順序,使任何依此產生的合法時程具衝突可序列化性,從而讓並行結果等價於某個循序執行結果。

    完整答題架構與關鍵字:到站內看全文

107 年(考試時間 120 分鐘) 原卷 PDF

  1. 1

    請為如下的醫療院所設計符合 BCNF 且考量 OO 的 EER data model,model 中請註明合適的 primary/foreign/candidate keys,資料表間的關聯亦請適當地說明彼此間的maximum/minimum cardinality。註:不需要用到的資料不必列入。 (30 分)• 假設一位醫師或護理人員只會屬於一個科別,但可以支援其它科別的門診• 假設某一診間同一看診時段,只會安排一位醫師跟護理人員• 醫師跟護理人員同屬於醫療單位的工作人員,除了工作人員的基本資料外,醫師會記錄「主治項目」 、「學歷」 、「經歷」、 「現職」,護理人員會記錄「專長」• 系統可依科系(如「內科系」 )、科別(如「消化內科」)查詢科別的醫療項目• 系統可依醫師查詢醫師的主治項目、學歷、經歷、現職、性別、門診時刻表(包括:日期、時段、醫師姓名、診間代號及掛號現況)• 系統可依科系、科別查詢門診時刻表• 系統可依病患查詢該病患的預約掛號資料,包括:病患身分代號/病歷號碼/病患、科系、科別、醫師代號/姓名、日期、時段、掛號號碼• 系統可列印各日期時段的診間掛號資料,包括:科系、科別、日期、時段、醫師代號/姓名、護理人員代號/姓名、病患身分代號/姓名/性別/年齡(可藉由出生年月日計算)

    (30 分)

    參考架構・破題

    本題應以「工作人員繼承階層、醫療組織、門診排班、病患掛號」四個模組建構 EER,再逐一標示鍵值、參與限制與基數,並將多值屬性拆表以達 BCNF。

    完整答題架構與關鍵字:到站內看全文

  2. 2

    假設現有如下推拿就醫資訊的關連式資料庫,請使用 SQL 回答相關的子問題。Naprapathist(nID, name, speciality) Patient(pID, name, gender, birthday) MedicalItem(mID, subject, description, charge) MedicalRecord(mID, nID, pID, dateTime, extraCharge, totalCharge) FKs: mID ref. MedicalItem(mID), nID ref. Naprapathist(nID), pID ref. Patient(pID)其中 nID, mID, pID 是由 1000 開始每次增加 1 的自動編號整數,所有資料欄位不允空白,totalCharge 是由 MedicalRecord 的 charge 跟 extraCharge 加總而來。

    (一)定義資料表 MedicalRecord(定義中應適當表示 primary and foreign key)(10 分)

    (二)請依推拿師代號(nID)為分群依據,找出日期為"2018-06-06",且該日期相對應推拿師所經手的醫療次數大於零時,個別推拿師在該日期所經手的相關醫療總收費金額及醫療次數(結果資料表應包含推拿師的名字、別名為"收費總金額"的醫療總收費金額、及別名為"醫療次數"的醫療次數,結果並依醫療次數作降冪排列顯示)。 (10 分)全一張(背面)

    (20 分)

    參考架構・破題

    本題分成 DDL 與彙總查詢;前者呈現複合主鍵、外鍵及非空限制,後者依推拿師分組、限制完整日期並降冪排序。

    完整答題架構與關鍵字:到站內看全文

  3. 3

    請將如下的投票物件陣列 Key-Value 資料,以符合 BCNF 的 RDB 資料表來表示。 (15 分)假設:一個 ID 只能投一票[{’CandidateID’: ’C01’, ’CandidateName’: ’Mary Wang’, ’Introduction’: ’Rock’, ’Birthday’: ’2000/01/01’, ’Score’: ’2’, ’VoteID’:[ {’ID’: ’A11’, ’Name’: ’A1’}, {’ID’: ’B11’, ’Name’: ’BB’} ] }, {’CandidateID’: ’C02’, ’CandidateName’: ’Jack Lee’, ’Introduction’: ’Blues’, ’Birthday’: ’1999/12/31’, ’Score’: ’2’, ’VoteID’:[ {’ID’: ’A22’, ’Name’: ’A2’}, {’ID’: ’B22’, ’Name’: ’BB’} ] }, {’CandidateID’: ’C03’, ’CandidateName’: ’Lily Su’, ’Introduction’: ’Lyric’, ’Birthday’: ’2001/06/01’, ’Score’: ’3’, ’VoteID’:[ {’ID’: ’A33’, ’Name’: ’A3’}, {’ID’: ’B33’, ’Name’: ’BB’}, {’ID’: ’C33’, ’Name’: ’C3’} ] } ]

    (15 分)

    參考架構・破題

    原 Key-Value 結構同時包含候選人、投票者與巢狀投票集合;轉成 BCNF 時應拆除陣列與衍生 Score,並用投票者 ID 的唯一性直接實現「一個 ID 只能投一票」。

    完整答題架構與關鍵字:到站內看全文

  4. 4

    假設現有如圖三個 transactions 同步存取資料 A, B, C,請使用 conflict equivalent 說明圖 中 同 步 執 行 的 非 序 列 排 程 ( non-serial schedule ), 是 否 具 有 排 程 循 序 性(serializability);如果具備排程循序性,執行結果可以等同於三個 Transactions 的那種序列排程;如果不具排程循序性,衝突的 cycle 為何?(15 分)

    (15 分)

    本題含圖表或公式,請對照原卷 PDF。

  5. 5

    以跨國電商年度銷售資料(國別、日期、銷售金額…)為例,圖解說明 Map-Reduce的運算架構,並說明 Map, Shuffle, 跟 Reduce 是如何分工而得到年度區域(如亞洲、歐洲、非洲、美洲、大洋洲)的總銷售金額?(20 分)

    (20 分)

    參考架構・破題

    本題應以鍵值對的資料流畫出 Map、Shuffle、Reduce 三階段:Map 把每筆跨國交易轉成「年度與區域」鍵,Shuffle 將相同鍵送到同一群組,Reduce 再加總各群組銷售金額。

    完整答題架構與關鍵字:到站內看全文

106 年(考試時間 120 分鐘) 原卷 PDF

  1. 1

    考慮下列關聯資料表:教務資料(教授姓名, 教授工作證號碼, 研究室編號, 研究室所在建築物, 課程編號,課程名稱, 教室所在建築物, 教室編號, 修課成績, 學生姓名, 學生證號碼)該關聯資料表「教務資料」有以下限制:每位教授的教授工作證號碼是唯一的;每位學生的學生證號碼是唯一的;每門課的課程編號是唯一的;每間研究室的研究室編號是唯一的;每間教室的教室編號是唯一的。每位教授都分配有一間且僅有一間研究室,每一間研究室可供給零位以上教授使用。每門課由一位且僅由一位教授上該門課,每位教授至少上一門課。每位學生至少修一門課,每門課有零位以上學生修該課程。每門課只會在一間教室上課,每間教室都可供零門課以上使用。修課成績指某位學生修某門課的成績。

    (一)試依前述限制,描述所有可能的功能相依性(functional dependency)。(10 分)

    (二)試問如何以功能相依性的規則,依前述限制來決定出關聯資料表「教務資料」的主要鍵(primary key)。(10 分)

    (三)請判定上述關聯資料表「教務資料」是否有符合第三正規化之要求,如不符合的話,試問將如何修改使其能符合第三正規化之要求,並標示出修改後每一關聯資料表的主要鍵(primary key)。(10 分)

    (四)試請依據(三)小題已修改成符合第三正規化要求後之關聯資料表,寫一 SQL 程式片段,依學生證號碼由小而大的順序,輸出每一位學生的學生證號碼、學生姓名,及其所修的每一門課的課程名稱與所獲得的成績。(10 分)全一張(背面)

    (40 分)

    參考架構・破題

    先把題幹的唯一性與一對多語意轉成功能相依,再以屬性閉包證明 (課程編號, 學生證號碼) 是最小鍵;原大表存在部分與遞移相依,應依教授、研究室、課程、教室、學生及修課事實分解。

    完整答題架構與關鍵字:到站內看全文

  2. 2

    一實體關聯圖(ER-diagram)包含有三個實體 Project、Employee 及 Family。當中:Project 含有三個屬性 P-No、P-Name 及 DueDate,且 P-No 為該實體的主要鍵(primary key)。Employee 含有三個屬性 Emp#、E-Name 及 Office,且 Emp#為該實體的主要鍵。Family 含有兩個屬性 Name 及 DOB,且 Family 為一弱實體(weak entity)。另 Project 與 Employee 間有一 Assignment 的關聯(relationship),該關聯顯示:每一 Project 被指定給至少有一位以上 Employee 在負責。每一 Employee 需負責零個以上 Project。且每一個 Assignment 都會記錄,負責每一 Project 的每一位 Employee,在該 Project所扮演的角色、參與該 Project 的起始日期及結束日期。Employee 與 Family 間也有一 Dependent 的關聯。該關聯描述:每一位 Employee 能扶養零位以上 Family。每一位 Family 只能登記為某一位 Employee 的扶養人,且每一位 Family 都必須為某一位,且只有一位 Employee 所扶養。

    (一)試以最適當且最少個關聯資料表(relation) ,來描述上述之實體關聯圖。需寫出該些關聯資料表的名稱、所含之屬性及主要鍵。(10 分)

    (二)對於上述之關聯資料表(relation) ,於撰寫程式時,那些屬性之間應設定為參考完整性限制(Referential integrity constraint),那些外來鍵屬性(foreign key)必須設為不可為空值(Non-Null)。(10 分)

    (20 分)

    參考架構・破題

    強實體各成一表、多對多關係另成一表、弱實體把擁有者主鍵納入自身複合主鍵;再由最小基數判斷外鍵是否不可空。

    完整答題架構與關鍵字:到站內看全文

  3. 3

    設 X 與 Y 為資料庫中的兩個變數,其中 X 的原始值為 30,Y 的原始值為 40。另P1 與 P2 為兩位不同程式,當中 P1 將依序執行 X = X + Y 及 Y = Y-4 兩個指令,同時P2 也 將 執 行 Y = X + Y + 1 的 指 令 。 假 設 該 資 料 庫 系 統 沒 有 良 好 同 步 處 理(synchronization processing)之機制,試問執行後(X, Y)之最後值可能為何,需寫出您的推導步驟。(10 分)

    (10 分)

    參考架構・破題

    答案取決於題目把一個指定敘述視為原子動作,或允許其內部讀取與寫回再交錯;應先明示假設,再依程式內順序列出合法排程與最後值。

    完整答題架構與關鍵字:到站內看全文

  4. 4

    有關資料庫中交易(transaction)管理之永久性(Durability, Permanency)特性,為一旦交易全部執行,且經過確認(Commit)後,即使未來發生系統當機或毀損,其對資料庫所做的變更則永遠有效。為能從各種故障回復,當交易進行中,系統常以維護一個日誌(Log),來提供交易錯誤或故障時,所需的復原資訊。若交易被正常完成時,資料庫管理系統(database management system)會進行交易 Commit 動作,否則將對此交易進行 Rollback 動作。試問資料庫管理系統將如何動作,即便是資料庫管理系統正處理日誌(Log)資料時,系統發生故障了,也能確保上述交易管理之永久性。(6 分)當系統故障時,系統如何處理?(4 分)

    (10 分)

    參考架構・破題

    永久性的核心不是「資料頁立刻寫回」,而是提交成功前,足以重作交易的日誌已可靠寫入穩定儲存;故障後再依日誌重作已提交交易、回復未提交交易。

    完整答題架構與關鍵字:到站內看全文

  5. 5

    請從每筆資料的長度大小之差異大否,整個檔案儲存資料總量龐大否,需常進行搜尋資料動作否,須常進行更新資料動作否等因素,從搜尋速度及使用記憶體空間方面考量,來探討採用循序檔案搜尋法、直接檔案搜尋法及雜湊搜尋(hashing search)法之適用性,並說明原因。(20 分)

    (20 分)

    參考架構・破題

    三種組織法沒有絕對優劣,應以資料筆數、紀錄長度、查詢型態與更新頻率比較其平均搜尋成本、額外索引空間、碰撞或搬移成本。

    完整答題架構與關鍵字:到站內看全文

105 年(考試時間 120 分鐘) 原卷 PDF

  1. 1

    某市政府希望透過網路來處理市民的反映問題,經過訪談和分析後,獲得以下需求:1.陳情案(Case):必須記載陳情人的電子郵件信箱(email)和姓名(name)、陳情時間(dateTime)、主旨(title)、內容(content)和附檔(files)。其中陳情人的電子郵件信箱、姓名和陳情時間合起來為唯一,附檔可有多個。2.局處(Division):必須記載局處名稱(dName)和首長姓名(director)。其中局處名稱為唯一,且每一陳情案可能會分配給數個相關局處來處理。3.員工(Employee):必須記載員工編號(eId) 、姓名(eName)和身分證字號(pId)。其中員工編號和身分證字號均為唯一,且一位員工剛好屬於一個局處。員工一定是以下兩種身分中的一種:行政員工(Admin)和技術員工(Tech),行政員工要記載其職級(level),技術員工則要記載其技術能力(expertise)。此外,一個陳情案會由一位行政員工來總負責(Handles)。

    (一)請依以上需求敘述,畫出其實體關係圖(Entity Relationship Diagram),員工的分類請使用繼承(Inheritance)來表示。 (20 分)

    (二)請將(一)的實體關係圖轉成關聯綱目並指出主鍵、外鍵,以及外鍵的參考關係。 (10 分)

    (30 分)

    參考架構・破題

    先以 EER 表達多值附檔、多對多分派及 Employee 的完全互斥繼承,再依實體、關係與子型的轉換規則列出關聯綱目。

    完整答題架構與關鍵字:到站內看全文

  2. 2

    考慮以下記載討論版文章的關聯:R(發表人 id, 發表人姓名, 發表時間, 主旨, 內容, 字數, 回應發表人 id, 回應發表時間)函數相依(functional dependency)以→表示,包含於(is the subset of)以⊆表示:發表人 id→發表人姓名{發表人 id, 發表時間}→{主旨, 內容, 回應發表人 id, 回應發表時間}內容→字數{(回應發表人 id, 回應發表時間)}⊆{(發表人 id, 發表時間)}

    (一)請推論出以上關聯 R 的主鍵和外鍵,推導過程必須列出。(6 分)

    (二)請將關聯分解成第二正規式(Second Normal Form, 2NF)但不滿足第三正規式(Third Normal Form, 3NF),請指明主鍵、外鍵和其參考關係。(7 分)

    (三)請將關聯分解成第三正規式,請指明主鍵、外鍵和其參考關係。(7 分)

    (20 分)

    參考架構・破題

    先用屬性閉包證明候選鍵,再依部分相依與遞移相依分兩階段分解;包含相依則轉成同一關聯內的自我參考外鍵。

    完整答題架構與關鍵字:到站內看全文

  3. 3

    考慮以下記載討論版文章的關聯:Member(mId, mName, email) // 會員(編號, 姓名, 電子郵件信箱) Post(pId, mId, dateTime, title, pContent) // 文章(文章 id, 作者編號, 日期時間, 主旨, 內容)全一張(背面)Reply(pId, rId, rmId, dateTime, rContent) // 回文(文章 id, 回文 id, 回文作者編號, 日期時間, 內容)其中主鍵以底線表示,外鍵如下:Post(mId)參考到 Member(mId) Reply(pId)參考到 Post(pId) Reply(rmId)參考到 Member(mId)請用一個 SQL 查詢句(Queries)回答以下每一個查詢:

    (一)列出 2016 年有 PO 過文章(即出現在 Post 關聯裡)的會員之會員編號和姓名。(5 分)

    (二)對於每一篇 PO 文,列出其 pId, PO 文時間,PO 文作者姓名,以及在 2016 年被回應的次數。(8 分)

    (三)列出有原作者回應的 PO 文之 pId, title 和作者姓名。(7 分)

    (四)找出 PO 文中(即出現在 Post 關聯裡)的內容有疑似西元日期的文章之 pId, title, PO文作者姓名。所謂疑似西元日期是指出現連續四個數字,且第一個數字為 1 或 2,或是(連續)數字前有西元或公元的字眼。(10 分)

    (30 分)

    參考架構・破題

    四小題分別考去重、外連接計數、存在性與樣式比對;核心是保留零回文文章,並將年份條件放在正確位置。

    完整答題架構與關鍵字:到站內看全文

  4. 4

    MongoDB 是目前使用愈來愈普遍的 NoSQL 資料庫管理系統,NoSQL 的主要特色包括 Schemaless, eventual consistency 和 horizontal scaling

    (一)請說明 Schemaless, eventual consistency 和 horizontal scaling 的意義。(10 分)

    (二)假設你有一個 order(訂單)的 collection,包含四個欄位:cust_id(顧客 id), product(產品), amount(金額), type(產品型態),以下 Mongo 查詢句可用來找出衣服(clothing)類產品總購買金額超過 10,000 元的顧客之顧客 id 和衣服類產品購買總金額:db.orders.aggregate( [ { $match: {type: “clothing”}} { $group: { _id: “cust_id”, total: { $sum: “amount”} } } { $match: {total: { $gt: 10000}}} ])請仿以上 MongoDB 語法,找出購買金額超過 1,000 元的訂單中,各類產品的總購買金額。 (10 分)

    (20 分)

    參考架構・破題

    先從資料模型、一致性時點與擴充方式解釋三項特性,再以聚合管線先篩選訂單金額、後按產品型態加總。

    完整答題架構與關鍵字:到站內看全文

104 年(考試時間 120 分鐘) 原卷 PDF

  1. 1

    有一個與租船有關的資料庫,其綱要(Schema)及案例內容(Instance)如下:Sailors(sid:integer, sname:string, rating:integer, age:real) Boats(bid: integer, bname:string, color:string) Reserves(sid: integer, bid:integer, day:date) sid sname rating age sid bid day 22 Wawrinka 10 30 22 101 6/7/2015 29 Brutus 6 33 22 102 6/5/2015 31 Lubber 8 55 22 103 6/3/2015 32 Lu 9 32 22 104 6/1/2015 58 Rusty 8 35 32 102 5/28/2015 64 Nishikori 10 26 32 103 6/1/2015 71 Dustin 10 30 64 104 6/3/2015 74 Murray 10 28 85 101 5/30/2015 85 Nadal 10 29 85 102 6/3/2015 95 Bob 3 60 85 103 6/3/2015圖一、Sailors 表格的案例 圖二、 Reserves 表格的案例bid bname color 101 Intelake blue 102 Clipper red 103 Marine green 104 Blast red圖三、Boats 表格的案例請回答下列各題:(每小題 5 分,共 40 分)。請注意:答案必須具備一般性,表格案例內容只為參考用,案例內容更改後,答案仍須正確。

    (一)請劃出此資料庫相對應的實體關聯圖(ER Diagram)。

    (二)請指出那幾個表格中的那幾個欄位,需要滿足參考限制(Referential Integrity)?

    (三)寫出一個 SQL 的查詢命令,查詢"Wawrinka"所租過的船的船名。

    (四)寫出一個 SQL 的查詢命令,查詢 rating 大於或等於 9 的船員人數。

    (五)寫出一個 SQL 的查詢命令,查詢曾經租過編號為 103 號的船的船員名字。

    (六)寫出一個 SQL 的查詢命令,查詢曾經租過所有顏色為紅色(red)的船的船員名字(即該船員租過所有顏色為紅色的船)。

    (七)寫出一個 SQL 的查詢命令,查詢同一天之中租超過一艘以上(不包括一艘)的船的船員名字。

    (八)寫出一個關聯代數(Relational Algebra)運算式,以關聯代數運算子(selection: σ、projection: Π、join: 、divide: ÷、union: ∪、intersection: ∩、cartesian product: ×、difference: -)表示,查詢租過船名為"Blast"的船的船員名字。全一張(背面)

    (40 分)

    本題含圖表或公式,請對照原卷 PDF。

  2. 2

    請回答下列和資料倉儲相關的問題:

    (一)請舉一個資料倉儲中的星狀資料綱要(Star Schema)的例子。(10 分)

    (二)請問資料倉儲架構中的 ETL 操作指的是什麼?(5 分)

    (15 分)

    參考架構・破題

    以銷售分析說明星狀綱要:先定義事實表粒度與度量,再配置時間、商品、顧客、門市維度;ETL 則是資料從來源進入倉儲的擷取、轉換與載入。

    完整答題架構與關鍵字:到站內看全文

  3. 3

    在高階語言(如 C 語言)中要查詢或異動資料庫時,通常會使用到一種被稱為 Cursor的結構,請說明 Cursor 的功用及其相關的操作。(10 分)

    (10 分)

    參考架構・破題

    Cursor 是把查詢結果視為可逐列定位與處理的工作區,讓高階語言在無法一次處理整個結果集合時,能控制目前列、取值、更新及結束資源。

    完整答題架構與關鍵字:到站內看全文

  4. 4

    表格的正規化(Normalization)是透過切割表格(Decomposition)來進行,請回答下列各題:

    (一)定義何謂無損切割(Lossless Decomposition)?(5 分)

    (二)若有一個表格綱要 r(A,B,C,D,E)的函數相依關係集合 F 為:A→BC CD→E B→D E→A請問將 r 切割為 r1(A,B,C)及 r2(A,D,E)的切割是否是無損切割?若是無損切割,則請證明之。(10 分)

    (15 分)

    參考架構・破題

    本題先以自然連接能否完全還原原關聯界定無損切割,再用二元切割判定準則或 chase 證明;重點不是只說 A 是鍵,而是把函數相依的推導與交集屬性連起來。

    完整答題架構與關鍵字:到站內看全文

  5. 5

    線上交易處理(Online Transaction Processing)是資料庫系統中的一個重要功能,請回答下列各題:(每小題 5 分,共 20 分)

    (一)定義什麼是一個交易(Transaction)?它必須滿足那四個特性?

    (二)何謂並行控制(Concurrency Control)?資料庫中若無並行控制的機制,則可能會產生什麼問題?

    (三)何謂兩階段鎖定(Two-Phase Locking)?其目的為何?

    (四)圖四為兩個交易 T1 及 T2 的執行過程(Schedule),假設交易執行的過程中有實施兩階段鎖定,請問這個執行過程(Schedule)的結果是順利執行完畢,或是發生死結狀態(Deadlock)?T1 T2 Read(A) A:=A-50 Write(A) Read(B) B:=B-10 Write(B) Read(A) A:=A+10 Write(A) Read(B) B:=B+50 Write(B)圖四、交易 T1、T2 的執行過程(指令的上下位置表示執行時間的先後,上面的指令比下面的指令先發生)

    (20 分)

    本題含圖表或公式,請對照原卷 PDF。

103 年(考試時間 120 分鐘) 原卷 PDF

  1. 1

    請 繪 圖 說 明 ANSI/SPARC 資 料 庫 系 統 架 構 , 並 明 確 指 出 有 關 資 料 獨 立 ( data independence)的概念在 ANSI/SPARC 資料庫系統架構圖中的所在位置與意義。(15 分)

    (15 分)

    參考架構・破題

    ANSI/SPARC 架構以外部、概念、內部三層綱要分離使用者觀點、全域邏輯結構與實體儲存;資料獨立性正是藉兩層映射,使下層改變不必連帶修改上層。

    完整答題架構與關鍵字:到站內看全文

  2. 2

    某單位為管理發生重大災難時之物資捐贈與發放管理,設計了一資料庫系統,以下為所設計的相關關聯式表格(Table)名稱與欄位屬性(Attribute)代表名稱。系統在同一天中只允許某一捐贈單位或受贈人予以捐贈或受贈某一物資一次,表格中有關編號(欄位名稱字尾有‘_ID’)之欄位均為唯一值(unique)、單位電話(D_TEL)為唯一值且不能為空值(null)、聯絡電話(E_TEL)可能為空值或重覆,除上之外的其他欄位值均有重覆之可能,但不能為空值。OBJECT [物資品項] O_ID O_NAME TYPE O_NUM物資編號 物資名稱 規格 目前數量DONOR [捐贈單位] GIVEN [捐贈明細] D_ID D_NAME D_TEL D_ID O_ID G_DAY G_NUM單位編號 單位名稱 單位電話 單位編號 物資編號 捐贈日期 捐贈數量DONEE [受贈人] ACCEPT [受贈明細] E_NAME E_ID E_TEL E_ID O_ID A_DAY A_NUM姓名 身分證號 聯絡電話 身分證號 物資編號 受贈日期 受贈數量請用以上關聯式表格回答以下問題:(每小題 5 分,共 30 分)請指出每一個表格可能的超級鍵(super key)數量各有多少?寫出每一個表格的候選鍵(candidate key);並選出最合理的主鍵(primary key)。以最符合的欄位資料型態範圍(domain)寫出建立表格 DONOR 的 SQL 完整指令(包含設定主鍵與參考外鍵(foreign key))。以最符合的欄位資料型態範圍(domain)寫出建立表格 GIVEN 的 SQL 完整指令(包含設定主鍵與參考外鍵(foreign key))。以關聯式代數(relational algebra)運算(selection: 、projection: 、join: ⋈、divide: 、union: 、intersection: 、Cartesian product: 、difference: -)表示以下查詢“列出沒有留下聯絡電話的受贈人姓名與其所受贈的物資名稱”。以 SQL 語法寫出查詢“依捐贈單位的總捐贈數量由多到少列出其捐贈單位名稱”。全一張(背面)

    (30 分)

    本題含圖表或公式,請對照原卷 PDF。

  3. 3

    令 R(A, B, C, D, E, F, G)為一符合第一正規化(First normal form)的關聯式表格綱要(relation schema),經分析後知道該綱要具有二候選鍵,分別為{A, B}與{B, C},並發現其屬性(attribute)中尚有以下功能相依(functional dependency)存在:A  C,C  G,E  F,E  D。(每小題 5 分,共 15 分)綱要 R 是否符合第二正規化(Second normal form)?若否,請指出問題所在,並以最簡方式拆解為符合第二正規化的不同綱要,並指出每一綱要的主鍵。於題 中所得到的綱要是否均符合第三正規化(Third normal form)?若否,請指出問題所在,並以最簡方式拆解為符合第三正規化的不同綱要,並指出每一綱要的主鍵。於題 中所得到的綱要是否均符合 BCNF 正規化(Boyce-Codd normal form)?若否,請指出問題所在,並以最簡方式拆解為符合 BCNF 正規化的不同綱要,並指出每一綱要的主鍵。

    (15 分)

  4. 4

    某機關需要一工程管理資料庫系統,經過需求調查與系統分析後得到具體基本資料實體(entity)與屬性如下:1.得標廠商(公司名稱,統一編號);2.工程案(案號,完成期限,經費上限);3.管理負責人(員工編號、姓名,職等);各實體間的相對應關係,敘述如下:(1)得標廠商可以取得多個工程案,但每個工程只能有一家得標廠商,必須記錄其得標日期。(2)每個管理負責人可以參與多個工程管理,每一個工程亦同時可有多個管理負責人;但同一工程只能有一位主要管理負責人。(3)主要管理負責人必須不定時記錄該負責工程的督導日期(年月日)與完成進度(%)。(每小題 10 分,共 20 分)請畫出以上相對需求的完整實體-關係模型(Entity-Relationship model; E-R model),並標示適當的關係與基數(cardinality)。將以上所設計的 E-R model 轉成關聯式綱要(relational schema),畫出關聯式綱要之間的參考關係並指出主鍵與參考外鍵。

    (20 分)

    參考架構・破題

    本題須把三個基本實體、兩種工程關係及可重複發生的督導紀錄分開建模;得標日期屬於廠商與工程的關係,而「每工程恰一位主要負責人」是參與關係上的額外限制。

    完整答題架構與關鍵字:到站內看全文

  5. 5

    臺灣於 1999 年 9 月 21 日發生集集大地震,地震發生後的數天中全國陸續有級數大的餘震發生,使得各地不定時停電、建築物倒塌,許多公司、機關、辦公場所遭到破壞壓毀,造成資料損毀甚巨。針對因應天然災害所可能引起的系統損毀或當機(system failure)、資料損毀(data loss)、設備損毀(device crash)等問題,若你是資料庫系統設計師,請為你的資料庫系統提出具體可行的軟、硬體與資料等備份(backup)策略及相對的復原(recovery)方法。(20 分)

    (20 分)

    參考架構・破題

    天然災害的設計目標不是單純「多做一份備份」,而是依系統當機、媒體毀損與機房災難分層防護,先訂可容忍資料損失與復原時間,再將交易日誌、備份、異地備援及定期演練組成可驗證的復原方案。

    完整答題架構與關鍵字:到站內看全文

102 年(考試時間 120 分鐘) 原卷 PDF

  1. 1

    已知一個資料庫,其關連(relation)的屬性(attribute)之間,有以下的關係。有底線者為該關連的主鍵屬性(key attribute)。R(r1, r2) S(s1, s2) T(s1, t1, t2) 其中 s1 就是 relation S 的 s1。U(u1, u2, u3, u4) 其中 u1 references r1,u2 references s1。V(r1, v1) 其中 r1 就是 relation R 的 r1。除了上述所附註說明的屬性之外,其餘屬性互相之間並沒有任何關係。根據以上資料,試推測此資料庫的實體-關係綱目圖(ER schema diagram)該是如何?請繪出其 ER schema diagram,並說明原因。圖中需註明所有能推知的基數比(cardinality ratio),如 1:1、1:N、M:N 等等。(15 分)

    (15 分)

  2. 2

    試回答以下有關 DBMS user 的問題:

    (一)Tool developer 主要是做什麼工作,試舉例說明。(5 分)

    (二)Parametric end user 是如何使用系統,試舉例說明。(5 分)

    (三)Application programmer 是做什麼工作,試說明之。(5 分)

    (15 分)

    參考架構・破題

    三類 DBMS 使用者可由「產出什麼」與「如何接觸資料庫」區分:工具開發者製作資料庫工具,參數式終端使用者反覆執行預定交易,應用程式設計師則撰寫承載業務規則的程式。

    完整答題架構與關鍵字:到站內看全文

  3. 3

    某關連 R(A, B, C, D, E, F, G) 的屬性之間有以下的關係。其中 “” 是 functional dependency。AB  CE,F  E,D  B,G  B

    (一)試推導(inference)出屬性之間的 functional dependencies,並指出整個關連的 key attribute 應為何者。(10 分)

    (二)請將此關連作第二正規化(second normal form),指明各關連的 key attribute 是何者。(5 分)

    (三)請繼續將(二)的結果作第三正規化(third normal form),指明各關連的 key attribute是何者。(5 分)

    (20 分)

  4. 4

    已知有一手機製造公司資料庫綱目(database schema)如下:工程師(編號,名字,年齡,性別,薪水)產品(代號,名目,年銷售量,售價)設計(編號,代號)請用 SQL 回答下列問題:

    (一)列出公司所有男工程師的平均薪水。(5 分)

    (二)對於沒有參與任何一項產品設計的工程師,或者所參與設計的產品年銷售量低於1 萬隻的,列出這些工程師的名字和年齡。(10 分)

    (三)針對年銷售量高於 20 萬隻的每一項產品,且參與設計此產品的工程師數目不超過 5 人的,列出其產品名目和工程師的平均薪水。(10 分)全一張

    (25 分)

    參考架構・破題

    本題依三個關聯直接撰寫聚合與存在性查詢;關鍵在第二小題的邏輯是「完全未參與」或「至少參與一項低銷量產品」,第三小題則須先依產品分組,再以 HAVING 限制設計人數。

    完整答題架構與關鍵字:到站內看全文

  5. 5

    Tr1 和 Tr2 是二個交易(transaction)。某次執行程序(schedule)如下:假設 X 和 Y在硬碟裡的初始值是 X=1000,Y=1000。Time Transaction Tr1 Transaction Tr2 t1 read X t2 read Y t3 X=X-1000 t4 read X t5 write X t6 Y=X+1000 t7 write Y

    (一)請問按以上執行方式,此執行程序(schedule)是否為 serializable?(5 分)

    (二)如果 Tr1 和 Tr2 按 Two-phase locking protocol 執行,請說明系統會如何進行?(10 分)

    (三)如果此程序是按 time-stamping protocol 執行,且 Tr1 在 Tr2 之後才進入系統(亦即,TimeStamp(Tr1) > TimeStamp(Tr2))。說明上面程序的執行結果是如何。(10 分)

    (25 分)

    參考架構・破題

    先列讀寫集並畫衝突優先圖:唯一跨交易衝突是 Tr2 先讀 X、Tr1 後寫 X,因此只有 Tr2→Tr1,排程可序列化;再模擬鎖定與時間戳規則。

    完整答題架構與關鍵字:到站內看全文

其他等別的「資料庫應用」

題目來源:考選部考畢試題查詢平臺(政府資訊公開資料);參考架構為本站自撰,僅供準備方向參考,非官方標準答案。最後更新:。