免費開始練習
調查局三等申論題 114年 [資訊科學組] 資料庫應用

第 一 題

📖 題組:
為設計一個調查局的關聯式資料庫,假設有 R(A, B, C, D, E, F, G),各屬性均無多值(Multi-Value)現象,其功能相依如下: FD1:G→D FD2:{E, F}→G FD3:F→B FD4:D→{C, F} FD5:G→A
📝 此題為申論題,共 4 小題

小題 (一)

請以功能相依的推導,找出{G, F}的封閉(Closure),即{G, F}+。(4 分)

思路引導 VIP

計算屬性封閉(Closure)的核心在於使用「封閉演算法」:從目標屬性集合出發,反覆檢查所有功能相依(FD),只要 FD 的左側完全包含在當前集合中,就將其右側加入集合,直到集合不再擴大為止。作答時務必逐條列出套用的 FD 與擴張後的集合,以確保過程分數全拿。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用屬性封閉演算法(Attribute Closure Algorithm),從初始集合出發,逐步代入給定的功能相依(FDs),不斷擴展集合直到無法加入新屬性為止。 【詳解】 已知:

小題 (二)

請以功能相依的推導與找屬性封閉的方法,找出 R 所有的候選鍵(Candidate Key),並列出全部的 Prime attributes、non-Prime attributes。(10 分)

思路引導 VIP

尋找候選鍵應先利用功能相依(FD)判斷屬性出現的位置:只出現在左側的屬性必為候選鍵的一部分,只出現在右側的屬性必為非主屬性。接著透過計算『屬性封閉集(Attribute Closure)』,找出能決定所有屬性的最小集合即為候選鍵;最後再依據候選鍵定義主屬性與非主屬性。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用屬性在功能相依(FD)中出現的位置進行初步分類,確認必包含於候選鍵的屬性後,計算其屬性封閉集(Attribute Closure),進而推導出所有的候選鍵,並據此劃分主屬性與非主屬性。 【詳解】 已知:

小題 (三)

請說明上述 relation schema 符合第三正規化(3NF)與否的原因。(6 分)

思路引導 VIP

解答正規化題目的標準 SOP:首先,利用功能相依(FD)求出「屬性集合閉包(Closure)」,藉此找出所有的「候選鍵(Candidate Key)」。其次,區分「主屬性」與「非主屬性」。最後,套用正規化定義檢查:若存在非主屬性對候選鍵的「部分相依」則不符 2NF;若存在「遞移相依」則不符 3NF。

🤖
AI 詳解
AI 專屬家教

【解題思路】判斷 3NF 需先求出關聯表的所有候選鍵(Candidate Key),區分主屬性與非主屬性,再檢驗是否存在非主屬性對候選鍵的部分相依(違反 2NF)或遞移相依(違反 3NF)。 【詳解】 已知:

小題 (四)

若 R 分解為 R1(A, D, E, F, G) R2(C, D) R3(B, F),請說明此分解是否保持 lossless join 的原因。(5 分)

思路引導 VIP

看到判斷多表分解是否為無損連接(Lossless Join),應直覺聯想到「二元分解檢驗法」或「表格檢驗法(Chase Algorithm)」。本題可利用二元檢驗法,將關聯表兩兩合併,檢查其交集屬性是否能(透過已知的 FD)決定其中一個關聯表的所有剩餘屬性,若每一步皆成立即為無損連接。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用二元分解的無損連接定理(Lossless Join Theorem),逐步檢查分解後的關聯表交集是否為其中一個關聯表的候選鍵。 【詳解】 已知:

升級 VIP 解鎖