114 地方特考三等 資訊處理類科 資料庫應用 考古題詳解

114 年・地方特考・三等・資訊處理類科
試題代碼 資料庫應用

第 一 題25 分

假設我們在資料庫系統中以下述指令定義 BOOK 表格:

create table Book ( ID char(5), Title varchar(20) not null, Author varchar(20), Price numeric(8, 2), primary key (ID) );

接著依序執行下列指令:

指令 1:insert into BOOK values ('11111', 'Sky', 'John', 60000);

指令 2:insert into BOOK values ('11211', null, 'John', 80000);

指令 3:insert into BOOK values ('11111', 'Ocean', 'John', 10000);

指令 4:insert into BOOK values ('11411', 'Ocean', 'Mary', null);

請依序判斷每個指令能否順利執行。若能順利執行,請說明該指令對資料庫的影響(如新增或刪除特定資料表的內容);若不能順利執行,請詳細說明原因(如違反某種特定的限制)。最後並列出執行四個指令後 BOOK 表格的內容。

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

這一題的完整詳解

核心觀念

本題考查資料表定義中的 主鍵限制、NOT NULL 限制,以及 INSERT 指令如何逐筆檢查資料完整性:

  • primary key (ID):ID 必須唯一且不得為 NULL。
  • Title varchar(20) not null:Title 不得為 NULL,且字串長度不得超過 20 個字元。
  • 未宣告 NOT NULL 的欄位,例如 Author、Price,可以存放 NULL。
  • 每筆 INSERT 都會依資料表限制檢查;違反限制的該筆資料不會寫入表格。

解題方法

依指令順序逐筆判斷,檢查新資料是否符合主鍵唯一性及欄位的 NOT NULL 限制。後續指令只會在前面成功寫入的資料上繼續執行;失敗的指令不會新增資料,也不會刪除或修改既有資料。

逐一判斷指令

指令 1

insert into BOOK values ('11111', 'Sky', 'John', 60000);

可順利執行。 表格原本沒有資料,ID = '11111' 不重複,Title = 'Sky' 也不是 NULL。

新增資料:

IDTitleAuthorPrice
11111SkyJohn60000

指令 2

insert into BOOK values ('11211', null, 'John', 80000);

不能順利執行。 Title 欄位定義為 NOT NULL,但這筆資料的 Title 指定為 NULL,違反非空值限制。此筆資料不會新增;既有資料不受影響。

指令 3

🔒

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

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

免費註冊

第 二 題20 分

若某研究機構需要建立一個資料庫系統,以管理該機構所有曾經執行過的計畫,經分析後得到下列需求:

  • 每個計畫需要記錄其編號、名稱、預算金額、主持人、開始日期與結束日期。其中計畫編號不可重複以用來辨識不同的計畫,而日期則包含年份和月份。
  • 每個委託單位則有編號、名稱、聯絡人姓名與電話等資訊,其中編號用以辨識不同單位。
  • 一個計畫只能有一個委託單位,但一個單位可以贊助多個計畫案。

請根據上述所有需求畫出一個實體關係圖(Entity-Relationship Diagram, ER Diagram),注意圖中必須標明實體集合、關係集合、屬性、主鍵和對應數量限制(Mapping Cardinality)等。此外,計畫的日期請使用複合屬性(Composite Attribute)的表示法。

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

這一題的完整詳解

核心觀念

本題考查 ER 模型的實體集合、關係集合、屬性、主鍵、複合屬性,以及關係的對應數量限制。

  • 實體集合:可獨立辨識並需要保存資料的對象。本題為「計畫」與「委託單位」。
  • 主鍵:能唯一辨識實體的屬性。計畫編號辨識不同計畫,單位編號辨識不同委託單位。
  • 複合屬性:可再拆解為子屬性的屬性。本題的開始日期與結束日期皆拆成年、月。
  • 對應數量限制:描述一個實體可參與多少個關係。本題中,一個委託單位可對應多個計畫,但一個計畫只能對應一個委託單位,故為一對多。

解題方法

先依資料需求列出實體及其屬性,再依辨識用途指定主鍵,接著將日期拆為年、月的複合屬性。最後判斷兩類實體之間的關係與基數:

  1. 計畫具有計畫編號、名稱、預算金額、主持人、開始日期、結束日期。
  2. 委託單位具有單位編號、名稱、聯絡人姓名、電話。
  3. 每個計畫「只能有一個」委託單位;每個單位「可以贊助多個」計畫,因此關係「委託/贊助」的基數是委託單位對計畫為 1:N1:N。
  4. 題目沒有要求把「至少一個委託單位」列為必要條件;因此圖中標示的是最大對應數量限制,計畫端為 NN、單位端為 11。

ER 圖

🔒

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

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

免費註冊

第 三 題30 分

在某圖書館所建立的關聯式資料庫系統中,定義了 BOOK 表格和 BORROWER 兩個表格,前者記錄館中每本藏書的基本資料,包含國際標準書號(ISBN)、書名(Title)、作者(Author)和價錢(Price);後者表示借閱資料,包含借書者編號(No)、書號(ISBN)和借閱日期(Date)。

各表格屬性如下所示,其中除了屬性 Price 為數值型態,其餘屬性皆為字串型態,而主鍵則以底線標註:

BOOK(ISBN, Title, Author, Price)

BORROWER(No, ISBN, Date)

請撰寫 SQL 查詢句,分別回答下列各子題:

(一) 輸出價錢超過 200 元書籍的 ISBN。

(二) 找出編號「B01」之借書者,其所有借過書籍的書名。

(三) 找出每個借書者(以屬性 No 代表)所借閱的書籍總數。

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

這一題的完整詳解

核心觀念

本題考查 SQL 的基本查詢、資料表連結,以及分組彙總:

  • WHERE:篩選符合條件的資料列。
  • JOIN:依共同欄位連結資料表。本題以 ISBN 將借閱紀錄連結到書籍資料。
  • GROUP BY 與 COUNT:依借書者分組,計算每組的借閱筆數。

題目未說明 BORROWER 的主鍵組成;以下假設每一筆資料代表一次借閱,且同一借書者可能多次借閱同一本書。

解題方法

(一)輸出價錢超過 200 元書籍的 ISBN

直接從 BOOK 表篩選 Price > 200,再輸出符合條件資料列的 ISBN。

SELECT ISBN
FROM BOOK
WHERE Price > 200;

「超過 200 元」表示嚴格大於,因此不包含價格恰為 200 元的書籍。

(二)找出編號「B01」之借書者借過書籍的書名

先在 BORROWER 表篩出 No = 'B01' 的借閱紀錄,再依 ISBN 連結 BOOK 表,取得對應的 Title。

SELECT DISTINCT B.Title
FROM BORROWER AS R
JOIN BOOK AS B
 ON R.ISBN = B.ISBN
WHERE R.No = 'B01';

No 與 ISBN 均為字串型態,因此條件值以單引號括住。DISTINCT 用於避免同一本書被借閱多次時,書名重複輸出。

🔒

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

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

免費註冊

第 四 題25 分

近年來大數據(Big Data)為資料庫系統帶來新的挑戰。首先詳述大數據最主要的 3 個特性(簡稱 3V)為何?其次說明在那種情境或應用下會產生大數據?最後建議使用那種軟體或技術來儲存大數據,並詳述你的理由。

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

這一題的完整詳解

核心觀念

本題考查大數據(Big Data)的 3V 特性、常見資料來源,以及適合儲存與處理大數據的技術選擇。回答時要把「資料為何構成大數據」和「儲存技術如何因應其特性」連結起來。

解題方法

先定義 3V,再舉出能同時產生大量、快速且多樣資料的情境,最後依照資料規模、型態與成長速度,說明儲存架構的選擇及理由。

一、大數據的 3V 特性

  1. Volume(資料量):資料規模龐大,可能達到 TB、PB 甚至更高;傳統單一伺服器或資料庫不易有效儲存與處理。
  2. Velocity(資料速度):資料持續快速產生、傳輸或更新,系統需能即時或近即時地接收、處理與回應。
  3. Variety(資料多樣性):資料形式不只限於固定欄位的結構化資料,還包括半結構化資料(如 JSON、XML)及非結構化資料(如文字、圖片、音訊、影片)。

二、產生大數據的情境或應用

例如社群平台、電子商務、物聯網(IoT)與智慧城市,都會持續產生多種類型的大量資料:

  • 社群平台:使用者貼文、留言、按讚、分享、圖片與影片,資料量大、來源多樣,且持續快速新增。
  • 電子商務:瀏覽紀錄、搜尋紀錄、點擊、訂單與交易資料,可用於推薦商品及分析消費行為。
  • 物聯網與智慧城市:感測器、穿戴裝置、交通監控與設備日誌會連續傳回資料,具備高資料速度,並可能累積龐大資料量。

作答時不必羅列許多案例,選一至兩種情境,並指出它們如何呈現 3V 即可。

三、儲存大數據的軟體或技術與理由

🔒

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

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

免費註冊

其他考古題