113 高普考高考三級 資訊處理 資料庫應用 考古題詳解

113 年・高普考・高考三級・資訊處理
試題代碼 資料庫應用

第 一 題20 分

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

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

這一題的完整詳解

核心觀念

本題考 EER 模型的四種基本塑模概念:個體、關係、屬性,以及父子型態關係。作答時要說明每一概念的意義,並以同一個實際情境舉例,呈現它們如何共同描述資料及資料間的關聯。

解題方法

可用「資料庫要記錄什麼、彼此如何連結、各自有哪些資料特徵、是否有分類與繼承」的順序說明:

  1. 個體(Entity):要記錄的對象。
  2. 關係(Relationship):個體之間的關聯。
  3. 屬性(Attribute):描述個體或關係的性質。
  4. 父子型態關係(Supertype/Subtype Relationship):將共通特徵歸入父型態,並以子型態表示特殊類別。

四種塑模概念

一、個體(Entity)

個體是現實世界中可區別、需要在資料庫中記錄的對象,可以是人、物、地點、事件或抽象概念。相似個體的集合稱為個體型態(Entity Type);例如「學生」是個體型態,而學號為 S001 的學生是其中一個個體。

**例子:**大學校務系統中的「學生」、「課程」與「教師」都是個體型態。學生通常以學號識別,課程通常以課程代碼識別。

二、關係(Relationship)

關係是兩個或多個個體之間具有意義的連結。關係型態(Relationship Type)描述這類連結;實際某幾個個體間的連結則是關係實例。關係可依參與的個體型態數量分為一元、二元或多元關係,也可依基數描述一對一、一對多或多對多等限制。

例子:「學生選修課程」是學生與課程之間的二元關係。一名學生可以選修多門課程,一門課程也可以有多名學生選修,因此通常是多對多關係。

三、屬性(Attribute)

屬性是用來描述個體或關係特徵的資料項目。每項屬性有其值域(Domain),其值須符合該屬性的型態或允許範圍。

🔒

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

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

免費註冊

第 二 題30 分

某醫院的關聯式資料庫綱要(Relational Database Schema)包括下列兩個表格:

表格一為住院病患,包括病患編號、病患姓名、病房編號、護理師編號四個欄位,病患編號為主鍵;護理師編號為外來鍵。

表格二為護理師,包括護理師編號、護理師姓名、月薪三個欄位;護理師編號為主鍵。

對於下列三個查詢問題,請各寫出一個 SQL SELECT 指令。

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

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

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

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

這一題的完整詳解

核心觀念

本題考查基本 SELECT、條件篩選、資料表連接(JOIN),以及分組統計(GROUP BY、COUNT)。

住院病患表以護理師編號作為外來鍵,對應護理師表的護理師編號主鍵。要查詢護理師姓名,需依此欄位連接兩表;要統計每位護理師照顧的病患數,則依護理師編號分組並計算病患筆數。

以下假設表格名稱為 住院病患、護理師,欄位名稱如題目所示。

解題方法

(一)只需從護理師表篩選月薪高於 45,000 元的資料,並投影出護理師編號與月薪:

SELECT 護理師編號, 月薪
FROM 護理師
WHERE 月薪 > 45000;

WHERE 條件使用嚴格大於,因此月薪恰為 45,000 元者不列入。

(二)先從住院病患表找出住在病房 8F12 的病患,再依護理師編號連接護理師表,以取得護理師姓名:

SELECT DISTINCT 護理師.護理師姓名
FROM 住院病患
JOIN 護理師
 ON 住院病患.護理師編號 = 護理師.護理師編號
WHERE 住院病患.病房編號 = '8F12';

同一位護理師可能照顧多位住在該病房的病患,因此使用 DISTINCT,讓姓名只列一次。

🔒

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

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

免費註冊

第 三 題30 分

一個關聯式資料庫表格的綱要如下所示:

T(A,B,C,D,E)T(A,B,C,D,E)

TT 為表格名稱,AA、BB、CC、DD、EE 為表格的五個屬性,{A,B}\{A,B\} 與 {A,C}\{A,C\} 為表格的兩個候選鍵。另外,此表格有下列功能相依(Functional Dependency):

{A,B}→{D,E}\{A,B\}\rightarrow\{D,E\} {A,C}→{D,E}\{A,C\}\rightarrow\{D,E\} {B}→{C}\{B\}\rightarrow\{C\}

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

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

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

這一題的完整詳解

核心觀念

正規化要從候選鍵、主屬性,以及函數相依決定因素是否為超鍵來判斷。

  • 候選鍵是能決定關係中所有屬性的最小屬性集合。
  • 主屬性是至少出現在一個候選鍵中的屬性;本題為 A,B,CA,B,C。
  • 超鍵是能決定所有屬性的屬性集合,不要求最小。
  • BCNF:每一個非平凡函數相依 X→YX\rightarrow Y 的決定因素 XX 都必須是超鍵。
  • 3NF:對每一個非平凡函數相依 X→YX\rightarrow Y,XX 是超鍵,或 YY 中每個屬性都是主屬性。

解題方法

先由題目給定的候選鍵辨認主屬性,再檢查各項函數相依是否違反正規型式。接著利用違反 BCNF 的函數相依進行分解,並確認分解後各表的鍵與外來鍵。

(一)判定正規型式

候選鍵為 {A,B}\{A,B\} 與 {A,C}\{A,C\},因此主屬性為 A,B,CA,B,C,非主屬性為 D,ED,E。

題目另給 {B}→{C}\{B\}\rightarrow\{C\}。由於 BB 不是超鍵,而 CC 是主屬性,這項相依符合 3NF 的第二種條件,但不符合 BCNF。

其餘兩項相依的決定因素都是候選鍵:

{A,B}→{D,E},{A,C}→{D,E}\{A,B\}\rightarrow\{D,E\},\qquad \{A,C\}\rightarrow\{D,E\}

因此均符合 BCNF 的要求。整體關係仍因 {B}→{C}\{B\}\rightarrow\{C\} 違反 BCNF,故不屬於 BCNF;但所有非平凡相依均符合 3NF 條件。

(二)正規化分解

依違反 BCNF 的相依 {B}→{C}\{B\}\rightarrow\{C\} 分解。令 R1={B,C}R_1=\{B,C\},並將決定因素 BB 保留在另一張表中,得到 R2={A,B,D,E}R_2=\{A,B,D,E\}:

R1(B,C),R2(A,B,D,E)R_1(B,C),\qquad R_2(A,B,D,E)
🔒

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

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

免費註冊

第 四 題20 分

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

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

這一題的完整詳解

核心觀念

資料倉儲以「事實」及其相關的「維度」組織資料。多維度資料模型可視為資料方塊(Data Cube):事實資料放在方塊的各個儲存格中,維度則提供觀察資料的角度,例如時間、地區、商品。每個儲存格可記錄銷售額、銷售量等度量值。

本題考查四種典型 OLAP 操作,重點是判斷操作後「維度層級、維度範圍或維度數量」如何改變。

解題方法

用同一個銷售資料方塊說明四種操作。假設資料包含「時間、地區、商品」三個維度,度量值為銷售額:

  • 時間維度:日 → 月 → 季 → 年
  • 地區維度:門市 → 縣市 → 區域
  • 商品維度:品項 → 品類

逐一說明操作如何改變資料檢視方式,並指出其他維度是否仍保留。

四種 OLAP 操作

一、向下鑽取(Drill Down)

沿著某一維度,從較概括的層級移至更細的層級,以檢視更詳細的資料。這通常透過維度階層完成。

**例:**原先檢視各年度銷售額,向下鑽取時間維度後,改為檢視各季度,或進一步檢視各月份的銷售額。資料範圍大致相同,但呈現粒度更細。

二、向上鑽取(Drill Up)

沿著某一維度,從較細的層級彙整至較概括的層級,也稱為 Roll-up。

🔒

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

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

免費註冊

其他考古題