110 關務特考三等 資訊處理 資料庫應用 考古題詳解
第 一 題30 分
某一個連鎖商店要建置一個關聯式資料庫(Relational Database),請設計一個資料庫綱要(Database Schema)以滿足下列資料需求:
-
商店(Store):每一家商店有一個商店編號(SID)、商店名稱(Name),以及商店所在的城市名稱(City),每一家商店的商店編號是唯一的。
-
顧客(Customer):每一位顧客有一個顧客編號(CID)、姓名(Name)、性別(Gender)、地址(Address),以及若干個電話號碼(Phone),每一位顧客的顧客編號是唯一的。
-
交易(Transaction):每一筆交易記錄顧客編號(CID)、商店編號(SID)、交易日期與時間(Time),以及交易金額(Amount),每一筆交易是由顧客編號、商店編號,以及交易日期與時間來唯一識別。
登入後即可作答並保存紀錄。
核心觀念
本題考查關聯式資料庫綱要設計,重點是將資料需求轉成資料表,並正確指定主鍵、外鍵及多值屬性。
- 主鍵(Primary Key):唯一識別資料列,值不可重複且不可為空。
- 外鍵(Foreign Key):參照另一資料表的主鍵,用來維持參照完整性。
- 多值屬性:一位顧客可以有若干個電話號碼。關聯式資料表的欄位應為單一值,因此電話號碼須拆成獨立資料表,不能在同一欄存放多個電話。
解題方法
依各項資料需求建立資料表,再按唯一識別條件設定主鍵:
- 商店編號唯一,因此
Store以SID為主鍵。 - 顧客編號唯一,因此
Customer以CID為主鍵。 - 顧客電話是多值屬性,另建
CustomerPhone,以顧客編號和電話號碼共同識別一筆電話資料。 - 交易由顧客編號、商店編號與交易日期時間共同唯一識別,因此三者組成複合主鍵;其中
CID、SID同時是外鍵。
資料庫綱要
第 二 題20 分
請定義資料庫管理系統的四個基本名詞:
- 資料庫(Database)。
- 資料(Data)。
- 資訊(Information)。
- 詮釋資料(Metadata)。
登入後即可作答並保存紀錄。
核心觀念
本題考查資料庫系統中的四個基本名詞,以及「資料經處理後形成資訊」與「詮釋資料描述資料結構」之間的關係。作答時,應分別說明各名詞的意義,並指出它們在資料庫環境中的功能。
解題方法
可從「資料如何被組織、處理與描述」切入:
- **資料(Data)**是尚待解讀或處理的事實、符號或數值。
- **資訊(Information)**是資料經整理、處理或置於脈絡中後,能傳達意義並有助於決策的結果。
- **資料庫(Database)**是為特定目的而組織、彼此相關且可共同存取的資料集合。
- **詮釋資料(Metadata)**是描述資料的資料,用來說明資料的定義、格式、結構或限制。
這四者的關係可概括為:資料庫保存並組織資料;資料經處理後可成為資訊;詮釋資料則說明資料庫中的資料如何定義與組織。
名詞定義
1. 資料庫(Database)
資料庫是依特定應用需求,有系統地組織、儲存並管理的一組相互關聯資料。資料庫通常由資料庫管理系統(DBMS)管理,使使用者或應用程式能進行資料的查詢、更新與維護。
例如,學校資料庫可包含學生、課程與選課等彼此相關的資料。
2. 資料(Data)
資料是對人、事、物或事件所記錄的原始事實、符號或數值,本身未必具有完整意義,通常需要經整理、解讀或處理後,才能用於分析或決策。
例如,85 是一筆資料;若知道它代表某位學生的資料庫期末考成績,才有較明確的解讀脈絡。
3. 資訊(Information)
第 三 題25 分
是一個關聯式資料庫表格的綱要,其中 為表格名稱,、、、、、、 為表格的七個屬性; 為表格的組合主鍵(Composite Primary Key),同時也是該表格唯一的候選鍵(Candidate Key)。另外,該表格有下列功能相依(Functional Dependency):
(一) 請問表格 符合第幾正規型式(Normal Form)?請說明理由。
(二) 表格 應該要正規化到第幾正規型式才適當?請將表格 正規化到適當的正規型式,寫出正規化之後每一個表格的綱要,包括表格名稱、屬性、主鍵,以及外來鍵(如果有外來鍵的話)。
登入後即可作答並保存紀錄。
核心觀念
本題考查候選鍵、部分相依、傳遞相依,以及第二、第三正規型式的判斷與分解。
- 候選鍵:能唯一決定關係中所有屬性的最小屬性集合。本題已給定唯一候選鍵為 ,因此只有 、 是主屬性,其餘 都是非主屬性。
- 第二正規型式(2NF):符合 1NF,且每個非主屬性都完全相依於每一個候選鍵;也就是非主屬性不得只依賴複合候選鍵的一部分。
- 第三正規型式(3NF):符合 2NF,且對每個非平凡函數相依 ,至少符合以下一項: 是超鍵,或 中每個屬性都是主屬性。
- BCNF:對每個非平凡函數相依 ,決定項 都必須是超鍵。
解題方法
先以題目給定的唯一候選鍵 判斷各屬性是否為主屬性,再逐一檢查函數相依是否違反正規型式。
(一)判斷原表格的正規型式
題目未另述欄位值是否為原子值,依關聯式資料庫題型的通常前提,視為符合 1NF。
檢查 2NF:
是複合候選鍵 的一部分,卻能決定非主屬性 ,所以存在部分相依,違反 2NF。
同樣地:
也是複合候選鍵的一部分,且決定非主屬性 ,也是部分相依。
因此, 不符合 2NF;既然 3NF 與 BCNF 都以符合 2NF 為前提, 也不符合 3NF 與 BCNF。
(二)適當的正規型式與分解
在原關係中,還有:
不是超鍵,而 是非主屬性,因此違反 3NF,也違反 BCNF。即使先消除部分相依,仍須處理這項相依,才能達到 3NF。
但 中的 不是超鍵,決定項也不是主屬性,因此原關係不符合 BCNF。分解後的關係仍須逐一檢查其函數相依。
採用無損且保留函數相依的分解如下:
- 依 拆出 ,以消除非鍵屬性間的傳遞相依。
- 依 拆出 ,保留 決定 的相依。
- 依 拆出 。
- 保留 與 的關係為 。
第 四 題25 分
資料倉儲設計最常使用的資料模型為多維度資料模型,是以星狀綱要、雪花狀綱要或事實星座綱要的形式存在。請先分別說明星狀綱要、雪花狀綱要與事實星座綱要,然後比較星狀綱要與雪花狀綱要之優缺點。
登入後即可作答並保存紀錄。
核心觀念
資料倉儲常以多維度資料模型組織資料,將分析對象拆成:
- 事實(Fact):業務事件或分析主體,例如訂單、銷售、出貨。
- 度量(Measure):可彙總或計算的數值,例如銷售額、數量、成本。
- 維度(Dimension):用來切分、篩選與描述事實的角度,例如時間、商品、客戶、地區。
設計時須先確定事實表的一筆資料代表的粒度(Grain),再安排維度表與度量欄位。星狀、雪花狀與事實星座綱要,都是多維度資料模型常見的綱要形式。
解題方法
題目分成兩個任務:先說明三種綱要的表格關係,再比較星狀與雪花狀綱要的優缺點。作答時抓住兩個判斷重點即可:
- 一個或多個事實表:可區分星狀/雪花狀與事實星座。
- 維度表是否正規化:可區分星狀與雪花狀。
一、星狀綱要(Star Schema)
以一張事實表為中心,直接連接多張維度表,整體呈現星狀。
例如「銷售事實表」連接「時間維度表」、「商品維度表」、「門市維度表」與「顧客維度表」。事實表存放外鍵及銷售額、銷售量等度量;維度表則存放分析描述欄位。
星狀綱要的維度表通常採非正規化設計。例如商品名稱、商品類別名稱、商品部門名稱都放在同一張商品維度表中,而不是拆成多張關聯表。
二、雪花狀綱要(Snowflake Schema)
同樣以一張事實表為核心,但將部分維度表再正規化拆分成多張相關表,因此表格關係較多,外觀如雪花分枝。
例如商品維度表可拆成商品表、商品類別表與商品部門表;查詢商品所屬部門時,便須沿著表間關係逐層連接。
雪花狀綱要主要是把維度階層或重複的描述資料拆開,降低維度資料冗餘。
三、事實星座綱要(Fact Constellation Schema)
又稱星系綱要(Galaxy Schema),由多張事實表構成,並可共用部分維度表。