調查局三等申論題
113年
[資訊科學組] 資料庫應用
第 一 題
📖 題組:
全國高中籃球聯賽記錄球員資料的關聯綱目(Schema)為球隊編號, 球隊名稱, 學校名稱, 比賽場次, 球員編號, 球員姓名, 位置, 球員學號, 年級, 得分數, 犯規數,如範例:('T105', '火球隊', '冠軍高中', 5, 23, '王小明', '得分後衛', 'B2123456', 2, 28, 3),其功能相依(Functional Dependency,簡稱 FD)集合 F 如下: { 球隊編號 } → { 球隊名稱, 學校名稱 } { 學校名稱, 球員編號 } → { 球員姓名, 球員學號, 年級 } { 學校名稱, 球員學號 } → { 球員姓名, 球員編號, 年級 } { 球隊編號, 比賽場次, 球員編號 } → { 位置, 得分數, 犯規數 }
全國高中籃球聯賽記錄球員資料的關聯綱目(Schema)為球隊編號, 球隊名稱, 學校名稱, 比賽場次, 球員編號, 球員姓名, 位置, 球員學號, 年級, 得分數, 犯規數,如範例:('T105', '火球隊', '冠軍高中', 5, 23, '王小明', '得分後衛', 'B2123456', 2, 28, 3),其功能相依(Functional Dependency,簡稱 FD)集合 F 如下: { 球隊編號 } → { 球隊名稱, 學校名稱 } { 學校名稱, 球員編號 } → { 球員姓名, 球員學號, 年級 } { 學校名稱, 球員學號 } → { 球員姓名, 球員編號, 年級 } { 球隊編號, 比賽場次, 球員編號 } → { 位置, 得分數, 犯規數 }
📝 此題為申論題,共 3 小題
小題 (一)
求 F 的最小集合(minimal set)。(5 分)
思路引導 VIP
看到求「最小集合 (Minimal Cover)」的問題,應立即聯想標準三步驟:1. 右側屬性單一化、2. 去除左側多餘屬性(利用屬性閉包檢查)、3. 移除冗餘的功能相依(FD)。特別注意觀察是否有互相決定的等價屬性,如此題的 {學校名稱, 球員編號} 與 {學校名稱, 球員學號},這會產生冗餘的 FD。
小題 (二)
關聯鍵(Relational Key)或候選鍵(Candidate Key)為何?(5 分)
思路引導 VIP
解題關鍵在於利用「屬性閉包(Attribute Closure)」演算法。先找出從未在功能相依(FD)右側出現的必備屬性,接著逐步加入其他屬性測試閉包,直到能推導出所有屬性且不可再縮減,即可找出所有的候選鍵。
小題 (三)
分解成滿足 3NF 的關聯綱目和每一關聯綱目之 FD。(10 分)
思路引導 VIP
本題測驗關聯式資料庫的正規化(Normalization)。解題關鍵在於利用「3NF 合成演算法(Synthesis Algorithm)」,將給定的功能相依(FD)集合依據決定因子(左半部)進行分組,直接推導出消除部分相依與遞移相依的 3NF 關聯綱目,並確保無失真合併(Lossless Join)與相依性保留(Dependency Preservation)。