這是MySQL 5實力養成暨評量裡的1-16.『關於鍵值的說明,下列敘述何者有誤?』
答案:(D) 候補鍵可以用來指向其他資料表內的主鍵
這也是以前學關聯資料庫時沒學好的結果,今天我們再度重讀及分享聯合大學的資料庫投影片於下:
與Key相關的重要名詞有以下數個:
- 超鍵(Super key)
- 由關聯中的一個或多個的屬性所構成、具有唯一識別性的屬性集合即為超鍵。
- 最小的超鍵可能僅為單一屬性。
- 最大的超鍵為所有屬性的集合
- 超鍵可能會包括一些在區別值組時不需要的多餘屬性。
- 由關聯中的一個或多個的屬性所構成、具有唯一識別性的屬性集合即為超鍵。
- 上述範例的Super key有:
- {學號}
- {身份証字號}
- {學號,姓名}
- {學號,姓名,身份証字號}
- …
- {學號,姓名,系別,年級,生日,地址,身份証字號}
- 以下則不為Super key:
- {姓名}
- {姓名,系別}
- …
- 候選鍵(Candidate Key)
- 是最少屬性集合的超鍵。
- 能唯一識別表格中各不同Tuple的最少屬性集合。
- 需具備:
- 唯一性(Uniqueness Property):可唯一識別Relation中所有的Tuple
- 最小性(Minimality)或不可縮減性(Irreducibility):若候選鍵為某些屬性的集合,此屬性集合若去除任何一個屬性,即不符合唯一性。
- 最小性(Minimality)或不可縮減性(Irreducibility)說明:
- 下表可能需靠{姓名,生日,地址}或是{姓名,生日,監護人}做唯一識別,少任何一個欄位均有可能發生重覆識別之慮。
- 上述兩個欄位組合皆為下表的候選鍵。
- 主鍵(Primary Key)
- 從多個候選鍵中選出,用來識別或代表表格中各個Tuple。
- 如果有多個候選鍵時,我們可以選取最方便、長度較短或作業上較常用到的來當作主鍵。如:學號。
- 主鍵不可為空值(Null Value)。
- 一個Relation中只可有一個主鍵。
- 被選為主鍵之屬性名稱下方,通常畫一條實底線表示。
- 從多個候選鍵中選出,用來識別或代表表格中各個Tuple。
- 替代鍵(Alternate Key)
- 各候選鍵中,除了主鍵之外的其他候選鍵。※替代鍵、候補鍵為同義
- 外來鍵(Foreign Key)
- 外來鍵是一個Relation中的屬性集合,而此集合在其它Relation中扮演主鍵(候選鍵) 的角色。
- 在某一表格(表格A)中的一個或數個屬性,該屬性(或屬性集合)在另一表格(表格B)上擔任主鍵。
- 被選為外來鍵之屬性名稱下方,通常畫一條虛底線表示。
- 外來鍵是一個Relation中的屬性集合,而此集合在其它Relation中扮演主鍵(候選鍵) 的角色。
- 外來鍵特性:
- 主要是維護表格之間資料的一致性(此一致性是由參考完整性限制所維持)
- 外來鍵不具唯一性
- 一個Relation中可有多個外來鍵。
- 外來鍵的內含值可以為空值(Null Value)
- 資料庫中不可含有任何不相配(Match)的外來鍵值
1 則留言