112年關務三等資料庫應用

三、在關聯式資料庫 (Relational Database) 的正規化理論 (Normalization Theory)中,決定者 (Determinant) 與候選鍵 (Candidate Key) 的定義分別為何?決定者與候選鍵之間的關係為何?(30分)

答:

()決定者

1.在功能相依的情況下,決定者是一組屬性,該組屬性可以決定其他屬性的值。

2.例如,假設有一個學生資料庫,其中每個學生有唯一的學號。在這種情況下, 學號就是一個決定者,因為它可以用來決定學生的其他資訊 (如姓名、課程等)

()候選鍵

1.定義:

(1)資料表經過正規化後,剩下的決定性屬性稱為候選鍵,此屬性的值具有不重複性,並且可以決定所有其他屬性

(2)候選鍵由一個關聯的屬性子集組成,可以唯一識別關聯值組

(3)一個資料表可以有一個或多個候選鍵,但是通常會選擇其中一個作為主鍵。

2.特性:

在每一個關聯表至少擁有一個候選鍵,不只要滿足唯一性,還需要滿足最小性。

(1)唯一性(Uniqueness Property)

a.沒有任何兩組相同記錄

b.例如「身分證字號」可以做為候選鍵,「班級+座號」也可以;但單單只有「班級」或只有「座號」都不行,因為「班級」這欄的有相同的記錄,「座號」這欄也是。

(2)最小性(Irreducibility Property Minimality)

a.移除了任何一個屬性就無法保有唯一性

b.例如眷屬(員工編號,眷屬姓名,關係),候選鍵「員工編號+眷屬姓名」符合最小性及唯一性,因為只知道員工編號沒辦法知道那個眷屬姓名;只知道眷屬姓名沒辦法知道那個員工。

員工編號

眷屬姓名

關係

001

黃文星

父子

001

黃美麗

配偶

002

陳東豪

堂兄弟

002

黃美麗

姐弟

註:員工編號或眷屬姓名移除就不具有唯一性。

參考資料:98-01-mid-note.doc

()決定者與候選鍵之間的關係

1.在關聯式資料庫中,決定者和候選鍵之間有密切的關聯。在功能相依中,如果某個屬性組 (決定者) 可以唯一決定其他所有屬性的值,那麼這個屬性組就可以被認為是候選鍵。換句話說,所有的候選鍵都是決定者,因為它們可以用來確定其他屬性的值。

2.決定者則只需能決定一或多個特定屬性的值。

3.並非所有的決定者都是候選鍵。

4.例如 R(A, B, C, D)A→BCDC→D,可知 AC 是決定者,A 是候選鍵,可以唯一決定其他所有屬性的值。C 是決定者,不是候選鍵,它只能決定 R 表格中的 D 屬性的值,無法決定其他所有屬性的值。

arrow
arrow
    文章標籤
    關務三等資料庫應用
    全站熱搜

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