地特三等申論題
111年
[資訊處理] 資料庫應用
第 一 題
📖 題組:
假設某關聯式資料庫,五個屬性值均是 atomic、不可再分割。設計師發現有下列 2 條功能相依,設計出一個資料表 R(A1,A2,A3,A4,A5) FD1:{A1,A3}→A5 FD2:A1→A2
假設某關聯式資料庫,五個屬性值均是 atomic、不可再分割。設計師發現有下列 2 條功能相依,設計出一個資料表 R(A1,A2,A3,A4,A5) FD1:{A1,A3}→A5 FD2:A1→A2
📝 此題為申論題,共 4 小題
小題 (一)
請問此表格 R 之後選鍵(Candidate Key)有那些?為什麼?(3 分)
思路引導 VIP
尋找候選鍵時,應先找出「從未出現在功能相依(FD)右側」的屬性,因為它們無法被推導,必定屬於候選鍵的一部分。接著利用屬性閉包(Attribute Closure)測試這些屬性的組合是否能推導出所有屬性,若能且為最小集合,即為候選鍵。
小題 (二)
上述設計違反了正規化(Normalization)理論,為什麼?(3 分)
思路引導 VIP
先找出關聯表 R 的候選鍵(Candidate Key),接著檢視非主鍵屬性對候選鍵是否存在「部分功能相依(Partial Dependency)」,藉此判斷是否違反第二正規化(2NF)。
小題 (三)
若資料表改為下列 2 個表格 R1(A1,A4,A5)、R2(A2,A3,A4,A5)(12 分)
(a)請你先判定新表格 R1、R2 的候選鍵。
(b)這樣的切割,是否滿足 Lossless Join?
(c)這樣的切割,是否會喪失任何功能相依?
(d)這樣設計最高是滿足第幾正規化,為什麼?
思路引導 VIP
解決關聯綱目切割題,首先要將原表的功能相依(FD)投影到新表格中,推導各自的候選鍵。接著利用「交集是否能決定其中一個表格(即交集為某表之超鍵)」來判斷無失真結合,並檢查原 FD 是否完整保留在至少一個新表中,最後依據表格內部的 FD 判定正規化層級。
小題 (四)
若你不同意上述(三)設計,你建議應如何修改原設計師所提出資料表 R(A1,A2,A3,A4,A5)?你必須同樣地依上述(a)、(b)、(c)、(d)四方面來說明你建議的設計。(12 分)
思路引導 VIP
本題測驗關聯式資料庫的正規化(Normalization)能力。首先需找出原資料表 R 的候選鍵為 {A1, A3, A4},接著利用給定的功能相依(FD1, FD2)進行無失真分解,將其提升至 BCNF。最後,對應原題意中評估資料庫設計的四個常見面向(資料重複性、新增、刪除、修改異常),逐一說明新設計如何解決異常問題。