免費開始練習
高考申論題 106年 [資訊處理] 資料庫應用

第 一 題

📖 題組:
如果 scheme R = (A, B, C, D, E),並滿足以下所有的 functional dependencies A→BC, CD→E, B→D, E→A (一) 假設我們分解(decomposition)R 成為(A, B, C), (A, D, E)。證明這是一個 lossless-join 分解。(10 分) (二) 寫出一個 lossless-join 分解使得 R 分解後滿足 BCNF。(10 分) (三) 寫出一個 lossless-join 分解使得 R 分解後滿足 3NF。(10 分)
📝 此題為申論題,共 3 小題

小題 (一)

假設我們分解(decomposition)R 成為(A, B, C), (A, D, E)。證明這是一個 lossless-join 分解。(10 分)

思路引導 VIP

看到無損連接分解(Lossless-Join Decomposition)證明,立刻想到「交集決定定理」。只要證明兩個子綱目的交集(R1 ∩ R2),利用給定的 FD 計算其屬性閉包(Closure),若能決定 R1 或 R2 的所有屬性,即代表該分解為無損連接。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用無損連接分解定理(Lossless-Join Theorem),檢查兩子關聯的交集(R1 ∩ R2)是否能函數決定 R1 或 R2。 【詳解】 已知:

小題 (二)

寫出一個 lossless-join 分解使得 R 分解後滿足 BCNF。(10 分)

思路引導 VIP

本題重點在於找出違反 BCNF 規範的功能相依(FD),並依此進行分解。考生需先求出原綱目的所有候選鍵,檢視哪一個 FD 的左邊(決定項)不是超鍵,接著使用 $R_1(X, Y)$ 與 $R_2(R-Y)$ 的演算法分解,最後驗證分解後的關聯是否滿足無失真連接與 BCNF。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用 BCNF 分解演算法找出違反 BCNF 條件之功能相依 $X \to Y$,將原綱目分解為 $R_1(X, Y)$ 與 $R_2(R-Y)$,並證明各綱目皆符合 BCNF 且為無失真連接。 【詳解】 已知:$R = (A, B, C, D, E)$,$F = {A \to BC, CD \to E, B \to D, E \to A}$。

小題 (三)

寫出一個 lossless-join 分解使得 R 分解後滿足 3NF。(10 分)

思路引導 VIP

看到 3NF 分解,首選「3NF 合成演算法(Synthesis Algorithm)」。先求出候選鍵與功能相依的最小涵蓋(Minimal Cover),將最小涵蓋轉換成子綱目,最後檢查是否包含至少一個候選鍵以滿足無損合併(Lossless-join)。同時可敏銳觀察到,若原綱目全為主屬性,其本身即已滿足 3NF。

🤖
AI 詳解
AI 專屬家教

【解題思路】使用 3NF 合成演算法(3NF Synthesis Algorithm),先求出功能相依集的最小涵蓋(Minimal Cover),依此建立子關聯綱目,並確認是否包含原綱目之候選鍵,以確保達到無損合併(Lossless-join)與保持相依性(Dependency-preserving)。 【詳解】 已知:R = (A, B, C, D, E), F = {A→BC, CD→E, B→D, E→A}

🏷️ 相關主題

關聯式資料庫正規化:理論、應用與實例
查看更多「[資訊處理] 資料庫應用」的主題分類考古題