111年地方特考三等資料庫應用

四、假設某關聯式資料庫,五個屬性值均是 atomic、不可再分割。設計師發現有下列2條功能相依,設計出一個資料表 R(A1, A2, A3, A4, A5)

    FD1{A1, A3}→A5

    FD2A1→A2

    ()請問此表格 R 之候選鍵 (Candidate Key) 有那些?為什麼?(3分)

    ()上述設計違反了正規化 (Normalization) 理論,為什麼?(3分)

    ()若資料表改為下列2個表格 R1(A1, A4, A5)R2(A2, A3, A4, A5)12  分)

        (a)請你先判定新表格 R1R2 的候選鍵。

        (b)這樣的切割,是否滿足 Lossless Join

        (c)這樣的切割,是否會喪失任何功能相依?

        (d)這樣設計最高是滿足第幾正規化,為什麼?

    ()若你不同意上述()設計,你建議應如何修改原設計師所提出資料表 R(A1, A2, A3, A4, A5)?你必須同樣地依上述(a)(b)(c)(d)四方面來說明你建議的設計。(12分)

答:

pic01.png

()

1.左有右無:找出最小性

F 中找出沒有在功能相依性的右手邊出現過的關聯表屬性,有最小性。它為候選鍵不可或缺的部分。左手邊出現 {A1, A3},右手邊出現 {A2, A5},刪除後得到 {A1, A3},此為候選鍵不可或缺部分。

註:如果「左有右無」是空集合,則直接找可以推導出所有屬性的候選鍵。

2.使用泛封閉集合推導出所有屬性:找出唯一性推導

(1)將候選鍵不可或缺的部分使用泛封閉集合 (Closure set) 推導出所有屬性,若所得的泛封閉集合包括所有屬性,則此候選鍵不可或缺部分為唯一候選鍵,有唯一性

(2)若所得泛封閉集合無法包括所有屬性,則有多個候選鍵

(3)使用泛封閉集合演算法可以計算出 F closure 集合,如下:

{A1, A3}+

≡ {A1, A3, A2}+ (依據 A1→A2)

≡ {A1, A3, A2, A5}+ (依據 {A1, A3}→A5)

≠ R

因為泛封閉集合無法包括所有屬性,所以有多個候選鍵

3.使用泛封閉集合推導出其他候選鍵:

(1)在候選鍵不可或缺部分增加屬性再求 Closure,若所得到的 Closure 涵括所有屬性,而且再刪除任何屬性都無法得到此一 Closure,則候選鍵為不可或缺部分與增加屬性。

(2)利用此一方法可以繼續推導出其他屬性。說明如下:

R = (A1, A2, A3, A4, A5)

    FD1{A1, A3}→A5

    FD2A1→A2

採用左有右無求候選鍵不可或缺部分,左手邊出現 {A1, A3},右手邊出現 {A2, A5},刪除後得到 {A1, A3},此為候選鍵不可或缺部分。

候選鍵

    {A1, A3} 增加屬性 A4,推導如下:

    {A1, A3, A4}

    ≡ {A1, A3, A4, A2}+ (依據 A1→A2)

    ≡ {A1, A3, A4, A2, A5}+ (依據 {A1, A3}→A5)

    = R

    所以 {A1, A3, A4} 為候選鍵。

()

因為 A2 部分功能相依於主鍵 {A1, A3, A4} 中的 A1A5 部分功能相依於主鍵 {A1, A3, A4} 中的 {A1, A3}所以違反了第二正規化。

()

(a)R1R2 無任何功能相依必為全鍵值關聯 (all-key relation)也就是它們的鍵 值是由所有的屬性所組成。

(b)因為 R1∩R2 = {A4, A5} ≠ R1 R1∩R2 = {A4, A5} ≠ R2所以是不滿足 Lossless Join

(c)這樣的切割會喪失任何功能相依例如 {A1, A3}→A5以及 A1→A2

(d)全鍵值關聯最高是滿足 BCNF 正規化,因為決定因素皆為此關聯的候選鍵。

()

Heath’s theorem:海斯定理

屬性集合 U 上的關係 R 滿足函數依賴 X→Y,則可以無損分解為兩個關係

pic02.png(R) pic03.png(R) = R,其中 Z = U-XY是剩餘的屬性。

(a)依照 Heath’s theorem R(A1, A2, A3, A4, A5) 分解如下:

1.R1(A1, A2)候選鍵是 A1

2.R2(A1, A3, A4, A5)候選鍵是 {A1, A3, A4}

(b)R1∩R2 = A1,因為 A1→A2,所以 R1∩R2 = R1。所以是 lossless-join

(c)R1 保留 A1→A2 功能相依R2 保留 {A1, A3}→A5 功能相依,所以沒 遺失任何功能相依

(d)R2 A5 部分功能相依於主鍵 {A1, A3, A4} 中的 {A1, A3}所以不是第二正規化。最高是滿足第一正規化

arrow
arrow
    創作者介紹
    創作者 jacksaleok 的頭像
    jacksaleok

    國考資訊處理工作室(高考二級資訊處理/高考三級資訊處理/調查局三等/關務人員三等/地方特考三等)

    jacksaleok 發表在 痞客邦 留言(0) 人氣()