高考申論題
105年
[資訊處理] 資料庫應用
第 一 題
📖 題組:
考慮以下記載討論版文章的關聯: R(發表人 id, 發表人姓名, 發表時間, 主旨, 內容, 字數, 回應發表人 id, 回應發表時間) 函數相依(functional dependency)以→表示,包含於(is the subset of)以⊆表示: 發表人 id→發表人姓名 {發表人 id, 發表時間}→{主旨, 內容, 回應發表人 id, 回應發表時間} 內容→字數 {(回應發表人 id, 回應發表時間)}⊆{(發表人 id, 發表時間)}
考慮以下記載討論版文章的關聯: R(發表人 id, 發表人姓名, 發表時間, 主旨, 內容, 字數, 回應發表人 id, 回應發表時間) 函數相依(functional dependency)以→表示,包含於(is the subset of)以⊆表示: 發表人 id→發表人姓名 {發表人 id, 發表時間}→{主旨, 內容, 回應發表人 id, 回應發表時間} 內容→字數 {(回應發表人 id, 回應發表時間)}⊆{(發表人 id, 發表時間)}
📝 此題為申論題,共 3 小題
小題 (一)
請推論出以上關聯 R 的主鍵和外鍵,推導過程必須列出。(6 分)
思路引導 VIP
尋找主鍵的關鍵在於利用函數相依(FD)計算屬性閉包(Attribute Closure),找出能決定所有屬性且不可分割的最小集合;尋找外鍵則須檢視子集限制條件(⊆),確認哪個屬性集合參考了已確立的主鍵。
小題 (二)
請將關聯分解成第二正規式(Second Normal Form, 2NF)但不滿足第三正規式(Third Normal Form, 3NF),請指明主鍵、外鍵和其參考關係。(7 分)
思路引導 VIP
解題關鍵在於先找出原關聯的主鍵,接著辨識出哪些屬性存在「部分功能相依」(違反 2NF)與「遞移功能相依」(違反 3NF)。依據題目要求,只需消除部分功能相依將其分解為 2NF,並刻意保留遞移功能相依使其不符合 3NF 即可。
小題 (三)
請將關聯分解成第三正規式,請指明主鍵、外鍵和其參考關係。(7 分)
思路引導 VIP
本題考查關聯式資料庫的正規化過程。解題關鍵在於先確認原關聯的主鍵,接著透過消除「部分功能相依」達到第二正規化(2NF),再消除「遞移功能相依」達到第三正規化(3NF),最後依據題目給定的集合包含條件,找出所有的外鍵參考關係。